diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c0edf1bbbb9bcf49e2455b2995e5a24997778295..3175fd2be64ac3de33c666056b3f894830517d2f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,6 +22,21 @@ stages: - pre-deploy - deploy +.template: &job-test-template + stage: tests + dependencies: + - build php + coverage: '/^\s*Lines:\s*\d+.\d+\%/' + +.template: &job-test-integration-template + <<: *job-test-template + services: + - mysql + script: + - ls -l + - php --version + - composer phpunit-integration + build php: image: wpdesknet/phpunit-woocommerce:0-0 stage: build @@ -34,94 +49,45 @@ build php: - ls /usr/local/bin - composer install --no-progress -#build js: -# image: node:slim -# stage: build -# script: -# - cd app -# - git clone git@gitlab.com:wpdesk/plugins-tests.git -# - cd plugins-tests -# - npm install -# - grunt dev-chrome - code style test: + <<: *job-test-template image: wpdesknet/phpunit-woocommerce:0-0 - stage: tests allow_failure: true - dependencies: - - build php script: - ls -l - php --version - composer phpcs unit test 0: + <<: *job-test-template image: wpdesknet/phpunit-woocommerce:0-0 - stage: tests - dependencies: - - build php - coverage: '/^\s*Lines:\s*\d+.\d+\%/' script: - ls -l - php --version - composer phpunit-unit integration test 0-0: + <<: *job-test-integration-template image: wpdesknet/phpunit-woocommerce:0-0 - services: - - mysql - stage: tests - coverage: '/^\s*Lines:\s*\d+.\d+\%/' - dependencies: - - build php - script: - - php --version - - composer phpunit-integration integration test 1-1: + <<: *job-test-integration-template image: wpdesknet/phpunit-woocommerce:1-1 - services: - - mysql - stage: tests - coverage: '/^\s*Lines:\s*\d+.\d+\%/' - dependencies: - - build php - script: - - php --version - - composer phpunit-integration integration test 2-2: + <<: *job-test-integration-template image: wpdesknet/phpunit-woocommerce:2-2 - services: - - mysql - stage: tests - coverage: '/^\s*Lines:\s*\d+.\d+\%/' - dependencies: - - build php - script: - - php --version - - composer phpunit-integration integration test 3-3: + <<: *job-test-integration-template image: wpdesknet/phpunit-woocommerce:3-3 - services: - - mysql - stage: tests - coverage: '/^\s*Lines:\s*\d+.\d+\%/' - dependencies: - - build php script: - php --version - phpunit --configuration phpunit-integration.xml integration test 4-3: + <<: *job-test-integration-template image: wpdesknet/phpunit-woocommerce:4-3 - services: - - mysql - stage: tests - coverage: '/^\s*Lines:\s*\d+.\d+\%/' - dependencies: - - build php script: - php --version - phpunit --configuration phpunit-integration.xml @@ -155,31 +121,15 @@ build to deploy: script: - php --version - ls -l - - rm -rf ${CI_PROJECT_DIR}/release - - rm -rf ${CI_PROJECT_DIR}/release.zip - - rm -rf /tmp/release + - rm -rf ${CI_PROJECT_DIR}/release ${CI_PROJECT_DIR}/release.zip /tmp/release - mkdir /tmp/release - mkdir ${CI_PROJECT_DIR}/release - cp -rf ${CI_PROJECT_DIR}/* /tmp/release - cp -rf /tmp/release/* ${CI_PROJECT_DIR}/release - cd ${CI_PROJECT_DIR}/release - composer install --no-dev --no-progress - - rm -rf build-coverage - - rm -rf release - - rm -rf tests - - rm -rf docs - - rm -rf .git - - rm -f .editorconfig - - rm -f .gitignore - - rm -f .gitlab-ci.yml - - rm -f apigen.neon - - rm -f composer.json - - rm -f composer.lock - - rm -f phpcs.xml.dist - - rm -f phpunit-integration.xml - - rm -f phpunit-unit.xml - - rm -f composer.phar - - rm -f wp-cli.phar + - rm -rf build-coverage release tests docs .git .editorconfig .gitignore .gitlab-ci.yml apigen.neon \ + composer.json composer.lock phpcs.xml.dist phpunit-integration.xml phpunit-unit.xml composer.phar wp-cli.phar - zip -r -q ../release.zip ./ only: - tags