Run acceptance tests in parallel, run multisite testing only on master branch

This commit is contained in:
Ján Mikláš
2019-01-28 10:16:13 +01:00
parent 0aa2dcfa8f
commit c88b0301db

View File

@ -38,6 +38,10 @@ jobs:
name: "Composer security check" name: "Composer security check"
command: | command: |
./do s:composer ./do s:composer
- run:
name: Group acceptance tests to run in parallel
command: |
./do test:acceptance-group-tests
- run: - run:
name: "QA Scripts" name: "QA Scripts"
command: ./do qa command: ./do qa
@ -132,7 +136,7 @@ jobs:
- store_artifacts: - store_artifacts:
path: /tmp/fake-mailer/ path: /tmp/fake-mailer/
destination: fake-mailer destination: fake-mailer
acceptance_tests: acceptance_tests_1:
working_directory: /home/circleci/mailpoet working_directory: /home/circleci/mailpoet
machine: true machine: true
steps: steps:
@ -141,22 +145,15 @@ jobs:
- run: - run:
name: "Set up virtual host" name: "Set up virtual host"
command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts
- run:
name: "Set up test environment"
command: |
sudo apt-get update
sudo apt-get install circleci-php-5.6.23
sudo rm /usr/bin/php
sudo ln -s /opt/circleci/php/5.6.23/bin/php /usr/bin/php
- run: - run:
name: Run acceptance tests name: Run acceptance tests
command: | command: |
docker-compose run -e SKIP_DEPS=1 codeception --steps --debug -vvv --html --xml docker-compose run -e SKIP_DEPS=1 codeception -g acceptance_group_1 --steps --debug -vvv --html --xml
- store_artifacts: - store_artifacts:
path: tests/_output path: tests/_output
- store_test_results: - store_test_results:
path: tests/_output path: tests/_output
acceptance_tests_multisite: acceptance_tests_2:
working_directory: /home/circleci/mailpoet working_directory: /home/circleci/mailpoet
machine: true machine: true
steps: steps:
@ -166,16 +163,111 @@ jobs:
name: "Set up virtual host" name: "Set up virtual host"
command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts
- run: - run:
name: "Set up test environment" name: Run acceptance tests
command: | command: |
sudo apt-get update docker-compose run -e SKIP_DEPS=1 codeception -g acceptance_group_2 --steps --debug -vvv --html --xml
sudo apt-get install circleci-php-5.6.23 - store_artifacts:
sudo rm /usr/bin/php path: tests/_output
sudo ln -s /opt/circleci/php/5.6.23/bin/php /usr/bin/php - store_test_results:
path: tests/_output
acceptance_tests_3:
working_directory: /home/circleci/mailpoet
machine: true
steps:
- attach_workspace:
at: /home/circleci/mailpoet
- run:
name: "Set up virtual host"
command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts
- run: - run:
name: Run acceptance tests name: Run acceptance tests
command: | command: |
docker-compose run -e SKIP_DEPS=1 -e MULTISITE=1 codeception --steps --debug -vvv --html --xml docker-compose run -e SKIP_DEPS=1 codeception -g acceptance_group_3 --steps --debug -vvv --html --xml
- store_artifacts:
path: tests/_output
- store_test_results:
path: tests/_output
acceptance_tests_4:
working_directory: /home/circleci/mailpoet
machine: true
steps:
- attach_workspace:
at: /home/circleci/mailpoet
- run:
name: "Set up virtual host"
command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts
- run:
name: Run acceptance tests
command: |
docker-compose run -e SKIP_DEPS=1 codeception -g acceptance_group_4 --steps --debug -vvv --html --xml
- store_artifacts:
path: tests/_output
- store_test_results:
path: tests/_output
acceptance_tests_multisite_1:
working_directory: /home/circleci/mailpoet
machine: true
steps:
- attach_workspace:
at: /home/circleci/mailpoet
- run:
name: "Set up virtual host"
command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts
- run:
name: Run acceptance tests
command: |
docker-compose run -e SKIP_DEPS=1 -e MULTISITE=1 codeception -g acceptance_group_1 --steps --debug -vvv --html --xml
- store_artifacts:
path: tests/_output
- store_test_results:
path: tests/_output
acceptance_tests_multisite_2:
working_directory: /home/circleci/mailpoet
machine: true
steps:
- attach_workspace:
at: /home/circleci/mailpoet
- run:
name: "Set up virtual host"
command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts
- run:
name: Run acceptance tests
command: |
docker-compose run -e SKIP_DEPS=1 -e MULTISITE=1 codeception -g acceptance_group_2 --steps --debug -vvv --html --xml
- store_artifacts:
path: tests/_output
- store_test_results:
path: tests/_output
acceptance_tests_multisite_3:
working_directory: /home/circleci/mailpoet
machine: true
steps:
- attach_workspace:
at: /home/circleci/mailpoet
- run:
name: "Set up virtual host"
command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts
- run:
name: Run acceptance tests
command: |
docker-compose run -e SKIP_DEPS=1 -e MULTISITE=1 codeception -g acceptance_group_3 --steps --debug -vvv --html --xml
- store_artifacts:
path: tests/_output
- store_test_results:
path: tests/_output
acceptance_tests_multisite_4:
working_directory: /home/circleci/mailpoet
machine: true
steps:
- attach_workspace:
at: /home/circleci/mailpoet
- run:
name: "Set up virtual host"
command: echo 127.0.0.1 mailpoet.loc | sudo tee -a /etc/hosts
- run:
name: Run acceptance tests
command: |
docker-compose run -e SKIP_DEPS=1 -e MULTISITE=1 codeception -g acceptance_group_4 --steps --debug -vvv --html --xml
- store_artifacts: - store_artifacts:
path: tests/_output path: tests/_output
- store_test_results: - store_test_results:
@ -273,32 +365,66 @@ jobs:
- store_artifacts: - store_artifacts:
path: /tmp/fake-mailer/ path: /tmp/fake-mailer/
destination: fake-mailer destination: fake-mailer
workflows: workflows:
version: 2 version: 2
build_and_test: build_and_test:
jobs: jobs:
- build_and_code_qa - build_and_code_qa
- static_analysis:
requires:
- build_and_code_qa
- php5_unit: - php5_unit:
requires: requires:
- build_and_code_qa - build_and_code_qa
- php7_unit: - php7_unit:
requires: requires:
- build_and_code_qa - build_and_code_qa
- static_analysis:
requires:
- build_and_code_qa
- acceptance_tests_1:
requires:
- php5_unit
- acceptance_tests_2:
requires:
- php5_unit
- acceptance_tests_3:
requires:
- php5_unit
- acceptance_tests_4:
requires:
- php5_unit
- php5_integration_and_js: - php5_integration_and_js:
requires: requires:
- php5_unit - php5_unit
- php7_integration: - php7_integration:
requires: requires:
- php7_unit - php7_unit
- acceptance_tests_multisite_1:
requires:
- php5_unit
filters:
branches:
only: master
- acceptance_tests_multisite_2:
requires:
- php5_unit
filters:
branches:
only: master
- acceptance_tests_multisite_3:
requires:
- php5_unit
filters:
branches:
only: master
- acceptance_tests_multisite_4:
requires:
- php5_unit
filters:
branches:
only: master
- php7_integration_multisite: - php7_integration_multisite:
requires: requires:
- php7_unit - php7_unit
- acceptance_tests: filters:
requires: branches:
- php5_unit only: master
- acceptance_tests_multisite:
requires:
- php5_unit