FRW-8965 Optimized CI pipelines. #290
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 packages | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install -U robotframework | |
python3 -m pip install -U robotframework-requests | |
python3 -m pip install -U robotframework-jsonlibrary | |
python3 -m pip install -U robotframework-databaselibrary | |
python3 -m pip install -U robotframework-browser | |
python3 -m pip install PyMySQL | |
sudo npx playwright install-deps | |
- 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 Robot tests | |
run: | | |
git clone https://github.com/spryker/robotframework-suite-tests.git --single-branch --branch master robotframework-tests | |
- 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: | | |
cd robotframework-tests | |
rfbrowser init | |
robot -v env:ui_b2b -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 . | |
touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
cd robotframework-tests | |
robot -v env:ui_b2b -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: | | |
cd robotframework-tests | |
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 robotframework-tests/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 packages | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install -U robotframework | |
python3 -m pip install -U robotframework-requests | |
python3 -m pip install -U robotframework-jsonlibrary | |
python3 -m pip install -U robotframework-databaselibrary | |
python3 -m pip install -U robotframework-browser | |
python3 -m pip install PyMySQL | |
sudo npx playwright install-deps | |
- 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 Robot tests | |
run: | | |
git clone https://github.com/spryker/robotframework-suite-tests.git --single-branch --branch master robotframework-tests | |
- 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: | | |
cd robotframework-tests | |
rfbrowser init | |
robot -v env:ui_b2b -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 . | |
touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
cd robotframework-tests | |
robot -v env:ui_b2b -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: | | |
cd robotframework-tests | |
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 robotframework-tests/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 packages | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install -U robotframework | |
python3 -m pip install -U robotframework-requests | |
python3 -m pip install -U robotframework-jsonlibrary | |
python3 -m pip install -U robotframework-databaselibrary | |
python3 -m pip install -U robotframework-browser | |
python3 -m pip install PyMySQL | |
sudo npx playwright install-deps | |
- 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 Robot tests | |
run: | | |
git clone https://github.com/spryker/robotframework-suite-tests.git --single-branch --branch master robotframework-tests | |
- 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: | | |
cd robotframework-tests | |
rfbrowser init | |
robot -v env:ui_b2b -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 . | |
touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
cd robotframework-tests | |
robot -v env:ui_b2b -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: | | |
cd robotframework-tests | |
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 robotframework-tests/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 packages | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install -U robotframework | |
python3 -m pip install -U robotframework-requests | |
python3 -m pip install -U robotframework-jsonlibrary | |
python3 -m pip install -U robotframework-databaselibrary | |
python3 -m pip install -U robotframework-browser | |
python3 -m pip install psycopg2 | |
sudo npx playwright install-deps | |
- 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 Robot tests | |
run: | | |
git clone https://github.com/spryker/robotframework-suite-tests.git --single-branch --branch master robotframework-tests | |
- 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: | | |
cd robotframework-tests | |
rfbrowser init | |
robot -v env:ui_b2b -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 . | |
touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
cd robotframework-tests | |
robot -v env:ui_b2b -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: | | |
cd robotframework-tests | |
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 robotframework-tests/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 packages | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install -U robotframework | |
python3 -m pip install -U robotframework-requests | |
python3 -m pip install -U robotframework-jsonlibrary | |
python3 -m pip install -U robotframework-databaselibrary | |
python3 -m pip install -U robotframework-browser | |
python3 -m pip install psycopg2 | |
sudo npx playwright install-deps | |
- 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 Robot tests | |
run: | | |
git clone https://github.com/spryker/robotframework-suite-tests.git --single-branch --branch master robotframework-tests | |
- 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: | | |
cd robotframework-tests | |
rfbrowser init | |
robot -v env:ui_b2b -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 . | |
touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
cd robotframework-tests | |
robot -v env:ui_b2b -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: | | |
cd robotframework-tests | |
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 robotframework-tests/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 packages | |
run: | | |
python3 -m pip install --upgrade pip | |
python3 -m pip install -U robotframework | |
python3 -m pip install -U robotframework-requests | |
python3 -m pip install -U robotframework-jsonlibrary | |
python3 -m pip install -U robotframework-databaselibrary | |
python3 -m pip install -U robotframework-browser | |
python3 -m pip install psycopg2 | |
sudo npx playwright install-deps | |
- 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 Robot tests | |
run: | | |
git clone https://github.com/spryker/robotframework-suite-tests.git --single-branch --branch master robotframework-tests | |
- 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: | | |
cd robotframework-tests | |
rfbrowser init | |
robot -v env:ui_b2b -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 . | |
touch results/time.txt && echo $(date) > results/time.txt | |
- name: Rerun Failed Tests | |
if: steps.run_tests.outcome != 'success' | |
run: | | |
cd robotframework-tests | |
robot -v env:ui_b2b -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: | | |
cd robotframework-tests | |
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 robotframework-tests/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')" |