Skip to content
Snippets Groups Projects
Select Git revision
  • a258a436948d2f5997ad4ba75a2117b8801edeca
  • master default protected
  • feat/npm-publish
  • feat/demo-deploy
  • change-demo-deploy
  • remove-smoke
  • feat/acceptance-tests
  • feature/deploy-composer.json
  • feature/mysql-bin-logs
  • skip-codecept-for-libs
  • include-composer-json
  • exclude-wp-assets
  • update_codecept_image
  • fix/silenced-copy
  • remove-free-translations
  • codeception-with-optional-step
  • improve-parallelization
  • linter-exit
  • change-images
  • fix/linter
  • globally-raise-mem-limit
  • no-symlink2
22 results

codeception-parallel.yml

Blame
  • codeception-parallel.yml 6.70 KiB
    .template: &job-codeception-test-parallel
      tags:
        - codeception
        - $TESTS_TAG
      image:
        name: wpdesknet/codeception:11
        entrypoint: [""]
      needs:
        - prepare prefixed vendor
        - prepare translations
        - job: prepare tests
          optional: true
        - job: prepare npm assets
          optional: true
      variables:
        WP_CLI_CACHE_DIR: /cache/wp-cli
        APACHE_DOCUMENT_ROOT: ${CI_PROJECT_DIR}/tests/wordpress
        CI_DEBUG_SERVICES: trace
        SCREEN_WIDTH: 1200
        SCREEN_HEIGHT: 1200
      parallel: 4
      retry: 2
      services:
        - name: mysql:5.6
          alias: mysqltests
          command: [--max-allowed-packet=67108864]
        - name: wpdesknet/wordpress:52
          alias: wootests
        - name: selenium/standalone-chrome:latest
          alias: chrome
      artifacts:
        when: always
        paths:
          - tests/codeception/tests/_output
        reports:
          junit: tests/codeception/tests/_output/report.xml
      stage: tests
      allow_failure: false
      interruptible: true
      before_script:
        - export PARALLEL_JOB=${CI_NODE_INDEX}
      script:
        - echo "xdebug.max_nesting_level=2560" >> /usr/local/etc/php/php.ini
        - export DEPENDENT_PLUGINS_DIR=${CI_PROJECT_DIR}/tests/dependent_plugins
        - mkdir -p /cache/wp-cli
        - export MYSQL_IP=$(awk '/^[[:space:]]*($|#)/{next} /mysqltests/{print $1; exit}' /etc/hosts)
        - export WOOTESTS_IP=$(awk '/^[[:space:]]*($|#)/{next} /wootests/{print $1; exit}' /etc/hosts)
        - export TEST_SITE_WP_URL="http://${WOOTESTS_IP}"
        - cd ${CI_PROJECT_DIR}
        - mkdir -p /project
        - cd ${CI_PROJECT_DIR}
        - mkdir -p ${APACHE_DOCUMENT_ROOT}
        - cd ${APACHE_DOCUMENT_ROOT}
        - cd ${CI_PROJECT_DIR}
        - composer prepare-wordpress-for-codeception
        - composer prepare-local-codeception-tests
        - mkdir -p ${CI_PROJECT_DIR}/tests/codeception/tests/_output
        - mkdir -p ${CI_PROJECT_DIR}/tests/codeception/tests/acceptance
        - mkdir -p ${CI_PROJECT_DIR}/tests/codeception/tests/functional
        - mkdir -p ${CI_PROJECT_DIR}/tests/codeception/tests/unit
        - chmod -R a+w ${APACHE_DOCUMENT_ROOT}/wp-content/uploads
        - touch ${APACHE_DOCUMENT_ROOT}/wp-content/debug.log
        - chmod a+w ${APACHE_DOCUMENT_ROOT}/wp-content/debug.log
        - echo "End before"
        - cd ${CI_PROJECT_DIR}
        - composer prepare-parallel-codeception-tests ${CI_NODE_TOTAL}
        - vendor/bin/codecept run acceptance $PARALLEL_JOB --steps --xml --html -f --verbose
      after_script:
        - cp ${APACHE_DOCUMENT_ROOT}/wp-content/debug.log tests/codeception/tests/_output/debug.log || true
        - cp ${APACHE_DOCUMENT_ROOT}/wp-content/uploads/wpdesk-logs/wpdesk_debug.log tests/codeception/tests/_output/wpdesk_debug.log || true