diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0fed7aac428372ff5dda866bf6a8903b043903ad..5a232eac3373349d1331f1db02e976e1c899d190 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,5 @@ -#1.10.11 -before_script: - - cd ${CI_PROJECT_DIR} - variables: + WPDESK_CI_VERSION: 1.10.12 MYSQL_ROOT_PASSWORD: mysql MYSQL_DATABASE: wptest MYSQL_USER: mysql @@ -20,76 +17,123 @@ stages: .template: &job-test-template stage: tests coverage: '/^\s*Lines:\s*\d+.\d+\%/' - only: - - devel - - master .template: &job-test-integration-template <<: *job-test-template services: - mysql script: + - echo ${WPDESK_CI_VERSION} - ls -l - php --version + - cat /tmp/wordpress-develop/src/wp-includes/version.php + - cat /tmp/woocommerce/woocommerce.php - composer update --no-progress - if [[ -f tests/integration/prepare.sh ]]; then sh tests/integration/prepare.sh; fi - composer phpunit-integration + only: + - tags + +.template: &job-test-integration-template-fast + <<: *job-test-integration-template + script: + - echo ${WPDESK_CI_VERSION} + - ls -l + - php --version + - cat /tmp/wordpress-develop/src/wp-includes/version.php + - cat /tmp/woocommerce/woocommerce.php + - composer update --no-progress + - if [[ -f tests/integration/prepare.sh ]]; then sh tests/integration/prepare.sh; fi + - composer phpunit-integration-fast + except: + - tags + only: .template: &job-test-unit-template <<: *job-test-template script: + - echo ${WPDESK_CI_VERSION} - ls -l - php --version + - cat /tmp/wordpress-develop/src/wp-includes/version.php + - cat /tmp/woocommerce/woocommerce.php - composer update --no-progress - composer phpunit-unit + only: + - tags + +.template: &job-test-unit-template-fast + <<: *job-test-unit-template + script: + - echo ${WPDESK_CI_VERSION} + - ls -l + - php --version + - cat /tmp/wordpress-develop/src/wp-includes/version.php + - cat /tmp/woocommerce/woocommerce.php + - composer update --no-progress + - composer phpunit-unit-fast + except: + - tags + only: .template: &job-deploy-template image: wpdesknet/amazon-svn-deploy stage: deploy dependencies: - build to deploy + - unit test lastest coverage + - integration test lastest coverage retry: 2 when: manual only: - tags +before_script: + - cd ${CI_PROJECT_DIR} + code style test: - <<: *job-test-template + stage: tests image: wpdesknet/phpunit-woocommerce:0-0 allow_failure: true script: - - ls -l - - php --version + - echo ${WPDESK_CI_VERSION} + - composer update --no-progress - composer phpcs unit test lastest: - <<: *job-test-unit-template + <<: *job-test-unit-template-fast image: wpdesknet/phpunit-woocommerce:0-0 - only: integration test lastest: + <<: *job-test-integration-template-fast + image: wpdesknet/phpunit-woocommerce:0-0 + +unit test lastest coverage: + <<: *job-test-unit-template + image: wpdesknet/phpunit-woocommerce:0-0 + +integration test lastest coverage: <<: *job-test-integration-template image: wpdesknet/phpunit-woocommerce:0-0 - only: integration test php7-1 wc-1: - <<: *job-test-integration-template + <<: *job-test-integration-template-fast image: wpdesknet/phpunit-woocommerce:1-1 integration test php7 wc-2: - <<: *job-test-integration-template + <<: *job-test-integration-template-fast image: wpdesknet/phpunit-woocommerce:2-2 integration test php-7 wc-3: - <<: *job-test-integration-template + <<: *job-test-integration-template-fast image: wpdesknet/phpunit-woocommerce:2-3 integration test php5-6: - <<: *job-test-integration-template + <<: *job-test-integration-template-fast image: wpdesknet/phpunit-woocommerce:3-0 integration test php5-5: - <<: *job-test-integration-template + <<: *job-test-integration-template-fast image: wpdesknet/phpunit-woocommerce:4-0 apigen docs: @@ -102,6 +146,7 @@ apigen docs: paths: - docs/ script: + - echo ${WPDESK_CI_VERSION} - ls -l - /app/vendor/bin/apigen generate - php /app/hooks-docs.php ${CI_PROJECT_DIR} @@ -115,6 +160,7 @@ pages: script: - rm -rf public - mv docs/ public/ + - 'curl -X POST --data-urlencode "payload={\"text\": \"Dokumentacja projektu ${CI_PROJECT_NAME} w wersji ${CI_COMMIT_REF_NAME} umieszczona w <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}/pages|pages> \", }" https://hooks.slack.com/services/${SLACK_AUTH}' artifacts: expire_in: 1 day paths: @@ -132,6 +178,7 @@ build to deploy: - release - release.zip script: + - echo ${WPDESK_CI_VERSION} - php --version - ls -l - /tmp/set_version.sh ${CI_COMMIT_REF_NAME} @@ -152,8 +199,9 @@ build to deploy: deploy to shop: <<: *job-deploy-template script: + - echo ${WPDESK_CI_VERSION} - /tmp/deploy_shop.sh ${CI_PROJECT_NAME} release.zip ${CI_PROJECT_NAME}.zip - - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do sklepu w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/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' + - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do sklepu w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}' environment: name: wpdesk shop url: https://wpdeskplugin.s3.amazonaws.com/${CI_PROJECT_NAME}.zip @@ -161,8 +209,9 @@ deploy to shop: deploy to demo: <<: *job-deploy-template script: + - echo ${WPDESK_CI_VERSION} - /tmp/deploy_demo.sh release/${CI_PROJECT_NAME} ${CI_PROJECT_NAME} - - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do demo w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/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' + - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do demo w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}' environment: name: wpdesk demo url: https://demo.wpdesk.org @@ -170,10 +219,11 @@ deploy to demo: deploy to repository: <<: *job-deploy-template script: + - echo ${WPDESK_CI_VERSION} - rm -rf /tmp/svn-repository - mkdir /tmp/svn-repository - /tmp/deploy_repository.sh ${CI_PROJECT_NAME} release/${CI_PROJECT_NAME} /tmp/svn-repository - - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do repozytorium WP w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/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' + - 'curl -X POST --data-urlencode "payload={\"text\": \"Projekt <https://gitlab.com/wpdesk/${CI_PROJECT_NAME}|${CI_PROJECT_NAME}> zdeployowany do repozytorium WP w wersji ${CI_COMMIT_REF_NAME}\", }" https://hooks.slack.com/services/${SLACK_AUTH}' environment: name: wordpress repository url: https://downloads.wordpress.org/plugin/${CI_PROJECT_NAME}.${CI_COMMIT_REF_NAME}.zip diff --git a/composer.json b/composer.json index 340bb116c635b9b78b190678f2fd822bb3d49689..5dd5ee0ed225f811b15e03ccb1397b1c44814d98 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,10 @@ "test": "echo composer is alive", "phpcs": "phpcs", "phpunit-unit": "phpunit --configuration phpunit-unit.xml --coverage-text --colors=never", + "phpunit-unit-fast": "phpunit --configuration phpunit-unit.xml --no-coverage", "phpunit-integration": "phpunit --configuration phpunit-integration.xml --coverage-text --colors=never", + "phpunit-integration-fast": "phpunit --configuration phpunit-integration.xml --no-coverage", + "docs": "apigen generate" } }