Skip to content

[dev][mp-b2b][UI][DMS-ON][parallel][docker] #27

[dev][mp-b2b][UI][DMS-ON][parallel][docker]

[dev][mp-b2b][UI][DMS-ON][parallel][docker] #27

name: "[dev][mp-b2b][UI][DMS-ON][parallel][docker]"
on:
workflow_dispatch:
jobs:
docker-alpine-php-8-2-mariadb-robot-ui-docker:
name: "[dev][mp-b2b][UI][DMS-ON][parallel][docker]"
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
steps:
- name: apt update
run: sudo apt update
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Clone project
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git clone -b feature/frw-9914/master-enable-parallel-test-execution --single-branch https://github.com/spryker-shop/b2b-demo-marketplace .
- name: Install robotframework-suite-tests folder
run: |
cd ./data && composer require "spryker/robotframework-suite-tests:dev-feature/frw-9914/master-enable-parallel-test-execution" --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 -v 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 -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 Dynamic Test Set
id: run_dynamic_tests
continue-on-error: true
run: |
docker/sdk exec robot-framework pabot --processes 8 --ordering pabot_mp_b2b_ordering -v env:ui_mp_b2b -v dms:true -v headless:true -v docker:true -v ignore_console:false -d results/dynamic_set --exclude skip-due-to-issueORskip-due-to-refactoringORstatic-set -s '*'.tests.parallel_ui.mp_b2b .
- name: Run Static Test Set
id: run_static_tests
continue-on-error: true
run: |
docker/sdk exec robot-framework robot -v env:ui_mp_b2b -v dms:true -v headless:true -v ignore_console:false -v docker:true -d results/static_set --exclude skip-due-to-issueORskip-due-to-refactoring --include static-set -s '*'.tests.parallel_ui.mp_b2b .
- name: Merge Initial Test Results
id: merge_initial_results
continue-on-error: true
run: |
docker/sdk exec robot-framework rebot -d results --output output.xml --merge results/dynamic_set/output.xml results/static_set/output.xml
# - name: Rerun Failed Tests
# id: rerun_failed_tests
# if: always() && steps.merge_initial_results.outcome != 'success'
# continue-on-error: true
# run: |
# docker/sdk exec robot-framework robot -v env:ui_mp_b2b -v dms:true -v headless:true -v ignore_console:false -v docker:true -d results/rerun --runemptysuite --rerunfailed results/output.xml --output rerun.xml -s '*'.tests.parallel_ui.mp_b2b .
# - name: Merge Final Test Results
# if: always() && steps.merge_initial_results.outcome != 'success'
# run: |
# docker/sdk exec robot-framework rebot -d results --merge results/output.xml results/rerun/rerun.xml
- name: Upload artifacts
# if: always() && steps.merge_initial_results.outcome != 'success'
if: always()
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}}/debug/mp_b2b_parallel_docker/${GITHUB_RUN_ID}/PHP8.3MariaDBRobotUi/ \
--recursive \
--expires "$(date -d '+4 days' --utc +'%Y-%m-%dT%H:%M:%SZ')"