FRW-8965 Optimized CI pipelines. #297
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "[b2b][master] Robot Regression UI E2E" | |
on: | |
pull_request: | |
types: [ labeled, synchronize ] | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
docker-alpine-php-8-3-mariadb-robot-ui-group-one: | |
if: > | |
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || | |
(github.event_name == 'push' && github.ref == 'refs/heads/master') | |
name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI / Group One" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.3 | |
TRAVIS: 1 | |
ROBOT_TESTS_ARTIFACTS_BUCKET_REGION: eu-west-1 | |
SPRYKER_CURRENT_REGION: EU | |
DYNAMIC_STORE_MODE: true | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Cache pip packages | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Install robotframework-suite-tests folder | |
run: | | |
cd ./data && composer require "spryker/robotframework-suite-tests:dev-master" --dev --no-interaction | |
cp -r vendor ../vendor | |
- name: Install docker-compose | |
run: | | |
sudo curl -L "https://github.com/docker/compose/releases/download/2.12.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
- name: Install Project | |
continue-on-error: false | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.acceptance.mariadb.robot.yml | |
sudo bash -c "echo '127.0.0.1 backend-api.eu.spryker.local backend-api.us.spryker.local backend-gateway.eu.spryker.local backend-gateway.us.spryker.local backoffice.eu.spryker.local backoffice.us.spryker.local glue-backend.eu.spryker.local glue-backend.us.spryker.local glue-storefront.eu.spryker.local glue-storefront.us.spryker.local glue.eu.spryker.local glue.us.spryker.local mail.spryker.local mp.eu.spryker.local mp.us.spryker.local queue.spryker.local scheduler.spryker.local spryker.local swagger.spryker.local yves.eu.spryker.local yves.us.spryker.local date-time-configurator-example.spryker.local' >> /etc/hosts" | |
docker/sdk up -t | |
- name: Custom commands | |
continue-on-error: false | |
run: | | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
id: run_tests | |
continue-on-error: true | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v headless:true -v ignore_console:false -v dms:true -v glue_env:http://glue.eu.spryker.local -v bapi_env:http://glue-backend.eu.spryker.local -v sapi_env:http://glue-storefront.eu.spryker.local -v yves_env:http://yves.eu.spryker.local -v zed_env:http://backoffice.eu.spryker.local -d results --exclude skip-due-to-issueORskip-due-to-refactoring --include group_one -s '*'.tests.ui.b2b . | |
docker/sdk exec robot-framework touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v headless:true -v ignore_console:false -v dms:true -v glue_env:http://glue.eu.spryker.local -v bapi_env:http://glue-backend.eu.spryker.local -v sapi_env:http://glue-storefront.eu.spryker.local -v yves_env:http://yves.eu.spryker.local -v zed_env:http://backoffice.eu.spryker.local -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.ui.b2b . | |
- name: Merge Test Results | |
if: always() && steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework rebot -d results --merge results/output.xml results/rerun/rerun.xml | |
- name: Upload artifacts | |
if: failure() | |
run: | | |
AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/master-robot-ui-ci/b2b_regression/group1/${GITHUB_RUN_ID}/PHP8.3MariaDBRobotUi/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
docker-alpine-php-8-3-mariadb-robot-ui-group-two: | |
if: > | |
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || | |
(github.event_name == 'push' && github.ref == 'refs/heads/master') | |
name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI /Group Two" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.3 | |
TRAVIS: 1 | |
ROBOT_TESTS_ARTIFACTS_BUCKET_REGION: eu-west-1 | |
SPRYKER_CURRENT_REGION: EU | |
DYNAMIC_STORE_MODE: true | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Install robotframework-suite-tests folder | |
run: | | |
cd ./data && composer require "spryker/robotframework-suite-tests:dev-master" --dev --no-interaction | |
cp -r vendor ../vendor | |
- name: Install docker-compose | |
run: | | |
sudo curl -L "https://github.com/docker/compose/releases/download/2.12.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
- name: Install Project | |
continue-on-error: false | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.acceptance.mariadb.robot.yml | |
sudo bash -c "echo '127.0.0.1 backend-api.eu.spryker.local backend-api.us.spryker.local backend-gateway.eu.spryker.local backend-gateway.us.spryker.local backoffice.eu.spryker.local backoffice.us.spryker.local glue-backend.eu.spryker.local glue-backend.us.spryker.local glue-storefront.eu.spryker.local glue-storefront.us.spryker.local glue.eu.spryker.local glue.us.spryker.local mail.spryker.local mp.eu.spryker.local mp.us.spryker.local queue.spryker.local scheduler.spryker.local spryker.local swagger.spryker.local yves.eu.spryker.local yves.us.spryker.local date-time-configurator-example.spryker.local' >> /etc/hosts" | |
docker/sdk up -t | |
- name: Custom commands | |
continue-on-error: false | |
run: | | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
id: run_tests | |
continue-on-error: true | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v headless:true -v ignore_console:false -v dms:true -v glue_env:http://glue.eu.spryker.local -v bapi_env:http://glue-backend.eu.spryker.local -v sapi_env:http://glue-storefront.eu.spryker.local -v yves_env:http://yves.eu.spryker.local -v zed_env:http://backoffice.eu.spryker.local -d results --exclude skip-due-to-issueORskip-due-to-refactoring --include group_two -s '*'.tests.ui.b2b . | |
docker/sdk exec robot-framework touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v headless:true -v ignore_console:false -v dms:true -v glue_env:http://glue.eu.spryker.local -v bapi_env:http://glue-backend.eu.spryker.local -v sapi_env:http://glue-storefront.eu.spryker.local -v yves_env:http://yves.eu.spryker.local -v zed_env:http://backoffice.eu.spryker.local -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.ui.b2b . | |
- name: Merge Test Results | |
if: always() && steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework rebot -d results --merge results/output.xml results/rerun/rerun.xml | |
- name: Upload artifacts | |
if: failure() | |
run: | | |
AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/master-robot-ui-ci/b2b_regression/group2/${GITHUB_RUN_ID}/PHP8.3MariaDBRobotUi/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
docker-alpine-php-8-3-mariadb-robot-ui-group-three: | |
if: > | |
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || | |
(github.event_name == 'push' && github.ref == 'refs/heads/master') | |
name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI / Group Three" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.3 | |
TRAVIS: 1 | |
ROBOT_TESTS_ARTIFACTS_BUCKET_REGION: eu-west-1 | |
SPRYKER_CURRENT_REGION: EU | |
DYNAMIC_STORE_MODE: true | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Install robotframework-suite-tests folder | |
run: | | |
cd ./data && composer require "spryker/robotframework-suite-tests:dev-master" --dev --no-interaction | |
cp -r vendor ../vendor | |
- name: Install docker-compose | |
run: | | |
sudo curl -L "https://github.com/docker/compose/releases/download/2.12.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
- name: Install Project | |
continue-on-error: false | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.acceptance.mariadb.robot.yml | |
sudo bash -c "echo '127.0.0.1 backend-api.eu.spryker.local backend-api.us.spryker.local backend-gateway.eu.spryker.local backend-gateway.us.spryker.local backoffice.eu.spryker.local backoffice.us.spryker.local glue-backend.eu.spryker.local glue-backend.us.spryker.local glue-storefront.eu.spryker.local glue-storefront.us.spryker.local glue.eu.spryker.local glue.us.spryker.local mail.spryker.local mp.eu.spryker.local mp.us.spryker.local queue.spryker.local scheduler.spryker.local spryker.local swagger.spryker.local yves.eu.spryker.local yves.us.spryker.local date-time-configurator-example.spryker.local' >> /etc/hosts" | |
docker/sdk up -t | |
- name: Custom commands | |
continue-on-error: false | |
run: | | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
id: run_tests | |
continue-on-error: true | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v headless:true -v ignore_console:false -v dms:true -v glue_env:http://glue.eu.spryker.local -v bapi_env:http://glue-backend.eu.spryker.local -v sapi_env:http://glue-storefront.eu.spryker.local -v yves_env:http://yves.eu.spryker.local -v zed_env:http://backoffice.eu.spryker.local -d results --exclude skip-due-to-issueORskip-due-to-refactoring --include group_tree -s '*'.tests.ui.b2b . | |
docker/sdk exec robot-framework touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v headless:true -v ignore_console:false -v dms:true -v glue_env:http://glue.eu.spryker.local -v bapi_env:http://glue-backend.eu.spryker.local -v sapi_env:http://glue-storefront.eu.spryker.local -v yves_env:http://yves.eu.spryker.local -v zed_env:http://backoffice.eu.spryker.local -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.ui.b2b . | |
- name: Merge Test Results | |
if: always() && steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework rebot -d results --merge results/output.xml results/rerun/rerun.xml | |
- name: Upload artifacts | |
if: failure() | |
run: | | |
AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/master-robot-ui-ci/b2b_regression/group3/${GITHUB_RUN_ID}/PHP8.3MariaDBRobotUi/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
docker-alpine-php-8-2-postgresql-dynamic-store-off-robot-ui-group-one: | |
if: > | |
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || | |
(github.event_name == 'push' && github.ref == 'refs/heads/master') | |
name: "Docker / Alpine / PHP 8.2 / PostgreSQL / Dynamic Store OFF / Robot / UI / Group One" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2 | |
TRAVIS: 1 | |
ROBOT_TESTS_ARTIFACTS_BUCKET_REGION: eu-west-1 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Cache pip packages | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Install robotframework-suite-tests folder | |
run: | | |
cd ./data && composer require "spryker/robotframework-suite-tests:dev-master" --dev --no-interaction | |
cp -r vendor ../vendor | |
- name: Install docker-compose | |
run: | | |
sudo curl -L "https://github.com/docker/compose/releases/download/2.12.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
- name: Install Project | |
continue-on-error: false | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.acceptance.dynamic-store-off.yml | |
sudo bash -c "echo '127.0.0.1 backend-api.at.spryker.local backend-api.de.spryker.local glue-backend.de.spryker.local glue-backend.at.spryker.local glue-storefront.de.spryker.local glue-storefront.at.spryker.local backend-gateway.at.spryker.local backend-gateway.de.spryker.local backoffice.at.spryker.local backoffice.de.spryker.local date-time-configurator-example.spryker.local glue.at.spryker.local glue.de.spryker.local yves.at.spryker.local yves.de.spryker.local' >> /etc/hosts" | |
docker/sdk up -t | |
- name: Custom commands | |
continue-on-error: false | |
run: | | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
APPLICATION_STORE=DE docker/sdk console queue:worker:start --stop-when-empty | |
APPLICATION_STORE=AT docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
id: run_tests | |
continue-on-error: true | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v db_engine:psycopg2 -v headless:true -v ignore_console:false -d results --exclude skip-due-to-issueORskip-due-to-refactoring --include group_one -s '*'.tests.ui.b2b . | |
docker/sdk exec robot-framework touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v db_engine:psycopg2 -v headless:true -v ignore_console:false -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.ui.b2b . | |
- name: Merge Test Results | |
if: always() && steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework rebot -d results --merge results/output.xml results/rerun/rerun.xml | |
- name: Upload artifacts | |
if: failure() | |
run: | | |
AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/master-robot-ui-ci/dynamic-store-off/b2b_regression/group1/${GITHUB_RUN_ID}/PHP8.2PostgreSQLRobotUi/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
docker-alpine-php-8-2-postgresql-dynamic-store-off-robot-ui-group-two: | |
if: > | |
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || | |
(github.event_name == 'push' && github.ref == 'refs/heads/master') | |
name: "Docker / Alpine / PHP 8.2 / PostgreSQL / Dynamic Store OFF / Robot / UI / Group Two" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2 | |
TRAVIS: 1 | |
ROBOT_TESTS_ARTIFACTS_BUCKET_REGION: eu-west-1 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Install robotframework-suite-tests folder | |
run: | | |
cd ./data && composer require "spryker/robotframework-suite-tests:dev-master" --dev --no-interaction | |
cp -r vendor ../vendor | |
- name: Install docker-compose | |
run: | | |
sudo curl -L "https://github.com/docker/compose/releases/download/2.12.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
- name: Install Project | |
continue-on-error: false | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.acceptance.dynamic-store-off.yml | |
sudo bash -c "echo '127.0.0.1 backend-api.at.spryker.local backend-api.de.spryker.local glue-backend.de.spryker.local glue-backend.at.spryker.local glue-storefront.de.spryker.local glue-storefront.at.spryker.local backend-gateway.at.spryker.local backend-gateway.de.spryker.local backoffice.at.spryker.local backoffice.de.spryker.local date-time-configurator-example.spryker.local glue.at.spryker.local glue.de.spryker.local yves.at.spryker.local yves.de.spryker.local' >> /etc/hosts" | |
docker/sdk up -t | |
- name: Custom commands | |
continue-on-error: false | |
run: | | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
APPLICATION_STORE=DE docker/sdk console queue:worker:start --stop-when-empty | |
APPLICATION_STORE=AT docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
id: run_tests | |
continue-on-error: true | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v db_engine:psycopg2 -v headless:true -v ignore_console:false -d results --exclude skip-due-to-issueORskip-due-to-refactoring --include group_two -s '*'.tests.ui.b2b . | |
docker/sdk exec robot-framework touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v db_engine:psycopg2 -v headless:true -v ignore_console:false -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.ui.b2b . | |
- name: Merge Test Results | |
if: always() && steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework rebot -d results --merge results/output.xml results/rerun/rerun.xml | |
- name: Upload artifacts | |
if: failure() | |
run: | | |
AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/master-robot-ui-ci/dynamic-store-off/b2b_regression/group2/${GITHUB_RUN_ID}/PHP8.2PostgreSQLRobotUi/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
docker-alpine-php-8-2-postgresql-dynamic-store-off-robot-ui-group-three: | |
if: > | |
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || | |
(github.event_name == 'push' && github.ref == 'refs/heads/master') | |
name: "Docker / Alpine / PHP 8.2 / PostgreSQL / Dynamic Store OFF / Robot / UI / Group Three" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2 | |
TRAVIS: 1 | |
ROBOT_TESTS_ARTIFACTS_BUCKET_REGION: eu-west-1 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Install robotframework-suite-tests folder | |
run: | | |
cd ./data && composer require "spryker/robotframework-suite-tests:dev-master" --dev --no-interaction | |
cp -r vendor ../vendor | |
- name: Install docker-compose | |
run: | | |
sudo curl -L "https://github.com/docker/compose/releases/download/2.12.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
- name: Install Project | |
continue-on-error: false | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.acceptance.dynamic-store-off.yml | |
sudo bash -c "echo '127.0.0.1 backend-api.at.spryker.local backend-api.de.spryker.local glue-backend.de.spryker.local glue-backend.at.spryker.local glue-storefront.de.spryker.local glue-storefront.at.spryker.local backend-gateway.at.spryker.local backend-gateway.de.spryker.local backoffice.at.spryker.local backoffice.de.spryker.local date-time-configurator-example.spryker.local glue.at.spryker.local glue.de.spryker.local yves.at.spryker.local yves.de.spryker.local' >> /etc/hosts" | |
docker/sdk up -t | |
- name: Custom commands | |
continue-on-error: false | |
run: | | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
APPLICATION_STORE=DE docker/sdk console queue:worker:start --stop-when-empty | |
APPLICATION_STORE=AT docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
id: run_tests | |
continue-on-error: true | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v db_engine:psycopg2 -v headless:true -v ignore_console:false -d results --exclude skip-due-to-issueORskip-due-to-refactoring --include group_tree -s '*'.tests.ui.b2b . | |
docker/sdk exec robot-framework touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework robot -v env:ui_b2b -v docker:True -v db_engine:psycopg2 -v headless:true -v ignore_console:false -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.ui.b2b . | |
- name: Merge Test Results | |
if: always() && steps.run_tests.outcome != 'success' | |
run: | | |
docker/sdk exec robot-framework rebot -d results --merge results/output.xml results/rerun/rerun.xml | |
- name: Upload artifacts | |
if: failure() | |
run: | | |
AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/master-robot-ui-ci/dynamic-store-off/b2b_regression/group3/${GITHUB_RUN_ID}/PHP8.2PostgreSQLRobotUi/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" |