Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Created UI CI for DMS on each PR to master #371

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
255 changes: 255 additions & 0 deletions .github/workflows/robot-ui-e2e-tests-dynamic-multistore.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,255 @@
name: "[mp_b2c][master] Robot Regression UI E2E Dynamic Multistore"

on:
pull_request:
types: [ labeled ]
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-2-mariadb-robot-ui-dynamic-multistore-group-one:
if: >
(github.event_name == 'pull_request' && github.event.label.name == 'robot-regression-ui-e2e') ||
(github.event_name == 'push' && github.ref == 'refs/heads/master')
name: "Docker / Alpine / PHP 8.2 / MariaDB / Robot / UI / Dynamic Multistore /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: |
sudo apt install awscli -q
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 -v deploy.ci.acceptance.mariadb.dynamic-store.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 -v
- name: Custom commands
continue-on-error: false
run: |
docker/sdk cli composer dump-autoload -o -a --apcu
SPRYKER_CURRENT_REGION=EU 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_mp_b2c -v dms:true -v headless: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 -v mp_env:http://mp.eu.spryker.local/security-merchant-portal-gui/login/ -v ignore_console:false -d results --exclude skip-due-to-issueORskip-due-to-refactoring --include group_one -s '*'.tests.ui.mp_b2c .
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_mp_b2c -v dms:true -v headless: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 -v mp_env:http://mp.eu.spryker.local/security-merchant-portal-gui/login/ -v ignore_console:false -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.ui.mp_b2c .
- 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-dms/mp_b2c_regression/group1/${GITHUB_RUN_ID}/PHP8.2MariaDBRobotUi/ \
--recursive \
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')"
docker-alpine-php-8-2-mariadb-robot-ui-dynamic-multistore-group-two:
if: >
(github.event_name == 'pull_request' && github.event.label.name == 'robot-regression-ui-e2e') ||
(github.event_name == 'push' && github.ref == 'refs/heads/master')
name: "Docker / Alpine / PHP 8.2 / MariaDB / Robot / UI / Dynamic Multistore /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: 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: |
sudo apt install awscli -q
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 -v deploy.ci.acceptance.mariadb.dynamic-store.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 -v
- name: Custom commands
continue-on-error: false
run: |
docker/sdk cli composer dump-autoload -o -a --apcu
SPRYKER_CURRENT_REGION=EU 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_mp_b2c -v dms:true -v headless: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 -v mp_env:http://mp.eu.spryker.local/security-merchant-portal-gui/login/ -v ignore_console:false -d results --exclude skip-due-to-issueORskip-due-to-refactoring --include group_two -s '*'.tests.ui.mp_b2c .
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_mp_b2c -v dms:true -v headless: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 -v mp_env:http://mp.eu.spryker.local/security-merchant-portal-gui/login/ -v ignore_console:false -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.ui.mp_b2c .
- 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-dms/mp_b2c_regression/group2/${GITHUB_RUN_ID}/PHP8.2MariaDBRobotUi/ \
--recursive \
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')"
docker-alpine-php-8-2-mariadb-robot-ui-dynamic-multistore-group-three:
if: >
(github.event_name == 'pull_request' && github.event.label.name == 'robot-regression-ui-e2e') ||
(github.event_name == 'push' && github.ref == 'refs/heads/master')
name: "Docker / Alpine / PHP 8.2 / MariaDB / Robot / UI / Dynamic Multistore / 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: 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: |
sudo apt install awscli -q
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 -v deploy.ci.acceptance.mariadb.dynamic-store.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 -v
- name: Custom commands
continue-on-error: false
run: |
docker/sdk cli composer dump-autoload -o -a --apcu
SPRYKER_CURRENT_REGION=EU 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_mp_b2c -v dms:true -v headless: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 -v mp_env:http://mp.eu.spryker.local/security-merchant-portal-gui/login/ -v ignore_console:false -d results --exclude skip-due-to-issueORskip-due-to-refactoring --include group_tree -s '*'.tests.ui.mp_b2c .
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_mp_b2c -v dms:true -v headless: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 -v mp_env:http://mp.eu.spryker.local/security-merchant-portal-gui/login/ -v ignore_console:false -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.ui.mp_b2c .
- 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-dms/mp_b2c_regression/group3/${GITHUB_RUN_ID}/PHP8.2MariaDBRobotUi/ \
--recursive \
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')"
Loading