Merge pull request #549 from spryker-shop/feature/cc-34390/dev-sales-… #2309
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: B2C-CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
validation: | |
name: "Static analysis" | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: [ | |
'8.2', | |
'8.3' | |
] | |
env: | |
APPLICATION_ENV: ci.mysql | |
APPLICATION_STORE: DE | |
PROJECT: suite | |
services: | |
redis: | |
image: redis | |
ports: | |
- 6379/tcp | |
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Configure sysctl limits | |
run: | | |
sudo swapoff -a | |
sudo sysctl -w vm.swappiness=1 | |
sudo sysctl -w fs.file-max=262144 | |
sudo sysctl -w vm.max_map_count=262144 | |
- name: Runs Elasticsearch | |
uses: elastic/elastic-github-actions/elasticsearch@master | |
with: | |
stack-version: 7.10.0 | |
port: 9200 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
extensions: mbstring, intl, pdo_mysql, redis | |
tools: composer:v2 | |
- name: Composer get cache directory | |
id: composer-cache | |
run: | | |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Composer cache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-composer- | |
- name: Composer validate | |
run: composer validate | |
- name: Composer version | |
run: composer --version | |
- name: Composer install | |
run: composer install | |
- name: Generate transfer objects | |
run: vendor/bin/console transfer:generate | |
- name: Generate transfer databuilder objects | |
run: vendor/bin/console transfer:databuilder:generate | |
- name: Propel install | |
run: | | |
vendor/bin/console propel:schema:copy | |
vendor/bin/console propel:model:build | |
vendor/bin/console transfer:entity:generate | |
- name: Setup search | |
run: vendor/bin/console setup:search | |
- name: Codecept build | |
run: vendor/bin/codecept build --ansi | |
- name: Generate autocompletion files | |
run: vendor/bin/console dev:ide-auto-completion:generate | |
- name: Generate rest API dcoumentation | |
run: vendor/bin/console rest-api:generate:documentation | |
- name: Frontend install-dependencies | |
run: | | |
vendor/bin/console frontend:project:install-dependencies -vvv | |
- name: Install NPM packages | |
run: | | |
sudo npm i --location=global --unsafe-perm speccy@0.11.0 | |
- name: Speccy lint Glue specification | |
run: speccy lint src/Generated/Glue/Specification/spryker_rest_api.schema.yml --rules=default | |
- name: Style lint | |
run: npm run yves:stylelint | |
- name: ES lint | |
run: npm run yves:lint | |
- name: Front-end Formatter | |
run: npm run formatter | |
- name: Validate propel files | |
run: | | |
vendor/bin/console propel:schema:validate | |
vendor/bin/console propel:schema:validate-xml-names | |
- name: Validate transfer files | |
run: vendor/bin/console transfer:validate | |
- name: Run CodeStyle checks | |
run: vendor/bin/console code:sniff:style | |
- name: Run Architecture rules | |
run: vendor/bin/phpmd src/ text vendor/spryker/architecture-sniffer/src/ruleset.xml --minimumpriority 2 | |
- name: Run PHPStan | |
run: vendor/bin/phpstan analyze -l 6 -c phpstan.neon src/ | |
- name: Run Evaluator for release branches | |
run: vendor/bin/evaluator evaluate --format=compact | |
if: github.event.pull_request.base.ref == 'master' && startsWith(github.event.pull_request.head.ref, 'release-') | |
- name: Run Evaluator for all branches | |
run: vendor/bin/evaluator evaluate --exclude-checkers=SPRYKER_DEV_PACKAGES_CHECKER --format=compact | |
php-83-mariadb-glue-alpine: | |
name: "PHP 8.3 / MariaDB / Glue / Alpine" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.3 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.api.mariadb.yml -v | |
docker/sdk up -t -v | |
docker/sdk testing codecept fixtures | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.api.yml | |
php-83-postgresql-glue-alpine: | |
name: "PHP 8.3 / PostgreSQL / Glue / Alpine" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.3 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.api.yml -v | |
docker/sdk up -t -v | |
docker/sdk testing codecept fixtures | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.api.yml | |
php-83-mariadb-acceptance-alpine: | |
name: "PHP 8.3 / MariaDB / Acceptance / Alpine" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.3 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.mariadb.yml | |
docker/sdk up -t | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.acceptance.yml | |
php-83-postgresql-acceptance-alpine: | |
name: "PHP 8.3 / PostgreSQL / Acceptance / Alpine" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.3 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.yml | |
docker/sdk up -t | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.acceptance.yml | |
php-83-mariadb-functional-alpine: | |
name: "PHP 8.3 / MariaDB / Functional / Alpine" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.3 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.functional.mariadb.yml -v | |
docker/sdk up -t -v | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.functional.yml | |
php-83-postgresql-functional-alpine: | |
name: "PHP 8.3 / PostgreSQL / Functional / Alpine" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.3 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.functional.yml | |
docker/sdk up -t | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.functional.yml | |
php-82-mariadb-glue-alpine: | |
name: "PHP 8.2 / MariaDB / Glue / Alpine" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.api.mariadb.yml -v | |
docker/sdk up -t -v | |
docker/sdk testing codecept fixtures | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.api.yml | |
php-82-postgresql-acceptance-alpine: | |
name: "PHP 8.2 / PostgreSQL / Acceptance / Alpine" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.yml | |
docker/sdk up -t | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.acceptance.yml | |
php-82-postgresql-functional-alpine: | |
name: "PHP 8.2 / PostgreSQL / Functional / Alpine" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.yml | |
docker/sdk up -t | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.functional.yml | |
php-82-mariadb-acceptance-alpine: | |
name: "PHP 8.2 / MariaDB / Acceptance / Alpine" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.mariadb.yml | |
docker/sdk up -t | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.acceptance.yml | |
php-82-mariadb-functional-alpine: | |
name: "PHP 8.2 / MariaDB / Functional / Alpine" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2 | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.functional.mariadb.yml -v | |
docker/sdk up -t -v | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.functional.yml | |
php-82-postgres-functional-debian: | |
name: "PHP 8.2 / PostgreSQL / Functional / Debian" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2-debian | |
TRAVIS: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Run docker | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot deploy.ci.functional.yml -v | |
docker/sdk up -t -v | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing codecept run -c codeception.functional.yml | |
frontend-assets-via-docker-php-8-2: | |
name: "Docker / Alpine / PHP 8.2 / Frontend & Assets" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
runs-on: ubuntu-22.04 | |
env: | |
PROGRESS_TYPE: plain | |
SPRYKER_PLATFORM_IMAGE: spryker/php:8.2 | |
steps: | |
- uses: actions/checkout@v4 | |
- run: echo eyAiZXhwZXJpbWVudGFsIiA6IHRydWUsICJmZWF0dXJlcyIgOiB7ICJidWlsZGtpdCI6IHRydWUgfSB9Cg==|base64 -d|sudo tee /etc/docker/daemon.json | |
- 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 | |
- run: sudo chmod +x /usr/local/bin/docker-compose | |
- run: git clone https://github.com/spryker/docker-sdk.git --single-branch --branch master ./docker | |
- run: docker/sdk boot deploy.yml | |
- run: SPRYKER_BUILD_HASH=myhash docker/sdk export images | |
- run: docker run -t --rm -e SPRYKER_NGINX_CGI_HOST_YVES_EU=localhost -e SPRYKER_NGINX_CGI_HOST_ZED_EU=localhost -e SPRYKER_NGINX_CGI_HOST_GLUE_EU=localhost -e SPRYKER_NGINX_CGI_HOST_YVES_US=localhost -e SPRYKER_NGINX_CGI_HOST_GLUE_US=localhost -e SPRYKER_NGINX_CGI_HOST_ZED_US=localhost -e ALLOWED_IP=127.0.0.1 spryker_b2c_frontend:1.0-frontend nginx -t | |
- run: docker run -t --rm --entrypoint='' spryker_b2c_frontend:1.0-frontend ls -al /data/public/Yves/assets/myhash | |
- run: docker run -t --rm --entrypoint='' spryker_b2c_frontend:1.0-frontend ls -al /data/public/Zed/assets/ | |
docker-alpine-php-8-2-mariadb-robot: | |
name: "Docker / Alpine / PHP 8.2 / MariaDB / Robot/ API" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
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 | |
- name: Install packages | |
run: | | |
sudo apt install awscli -q | |
- 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: true | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.mariadb.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 -v | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
APPLICATION_STORE=AT docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
run: | | |
docker/sdk exec robot-framework robot -v env:api_b2c -v docker:True --exclude skip-due-to-issueORskip-due-to-refactoring -d results -s robotframework.tests.api.b2c . | |
- 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}}/b2c-robot-api-ci/${GITHUB_RUN_ID}/PHP8.2MariaDBRobot/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
docker-alpine-php-8-3-postgresql-robot: | |
name: "Docker / Alpine / PHP 8.3 / PostgreSQL / Robot/ API" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
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: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.9' | |
- name: Install packages | |
run: | | |
sudo apt install awscli -q | |
- 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: true | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.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 -v | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
APPLICATION_STORE=AT docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
run: | | |
docker/sdk exec robot-framework robot -v env:api_b2c -v db_engine:psycopg2 -v docker:True --exclude skip-due-to-issueORskip-due-to-refactoring -d results -s robotframework.tests.api.b2c . | |
- 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}}/b2c-robot-api-ci/${GITHUB_RUN_ID}/PHP8.3PostgreSQLRobot/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
docker-alpine-php-8-3-mariadb-robot-dynamic-multistore: | |
name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / API / Dynamic Multistore" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
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: | |
- uses: actions/checkout@v4 | |
- name: Install packages | |
run: | | |
sudo apt install awscli -q | |
- 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: true | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.api.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' >> /etc/hosts" | |
docker/sdk up -t -v | |
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 | |
run: | | |
docker/sdk exec robot-framework robot -v env:api_b2c -v docker:True -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 --exclude skip-due-to-issueORskip-due-to-refactoring -d results -s robotframework.tests.api.b2c . | |
- 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}}/b2c-robot-api-ci-dynamic-multistore/${GITHUB_RUN_ID}/PHP8.2MariaDBRobot/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
docker-alpine-php-8-3-mariadb-cypress: | |
name: "Docker / Alpine / PHP 8.3 / MariaDB / Cypress / UI" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
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: | |
- uses: actions/checkout@v4 | |
- name: Install packages | |
run: | | |
sudo apt install awscli -q | |
- name: Install cypress-tests folder | |
run: | | |
cd ./data && composer require "spryker/cypress-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: true | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.mariadb.cypress.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' >> /etc/hosts" | |
docker/sdk up -t -v | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk cli console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
run: | | |
docker/sdk exec cypress-tests cp .env.example .env | |
for i in 1 2; do | |
docker/sdk exec --env "ENV_REPOSITORY_ID=b2c" cypress-tests npm run cy:ci && s=0 && break || s=$? && echo "Test failed, retrying..." | |
sleep 1 | |
done | |
(exit $s) | |
- 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 .cypress s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/cypress-ui/b2c/${GITHUB_RUN_ID}/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
docker-alpine-php-8-3-mariadb-cypress-dynamic-multistore: | |
name: "Docker / Alpine / PHP 8.3 / MariaDB / Cypress / UI / Dynamic Store" | |
if: "!contains(github.event.pull_request.head.ref, 'hackathon')" | |
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: | |
- uses: actions/checkout@v4 | |
- name: Install packages | |
run: | | |
sudo apt install awscli -q | |
- name: Install cypress-tests folder | |
run: | | |
cd ./data && composer require "spryker/cypress-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: true | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.mariadb.dynamic-store.cypress.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' >> /etc/hosts" | |
docker/sdk up -t -v | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk cli console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
run: | | |
docker/sdk exec cypress-tests cp .env.dynamic-store.example .env | |
for i in 1 2; do | |
docker/sdk exec --env "ENV_REPOSITORY_ID=b2c" cypress-tests npm run cy:ci && s=0 && break || s=$? && echo "Test failed, retrying..." | |
sleep 1 | |
done | |
(exit $s) | |
- 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 .cypress s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/cypress-ui/b2c/${GITHUB_RUN_ID}/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
positive-docker-alpine-php-8-2-mariadb-robot: | |
name: "[Hackathon] Positive / Docker / Alpine / PHP 8.2 / MariaDB / Robot/ API" | |
if: "contains(github.event.pull_request.head.ref, 'hackathon')" | |
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 | |
- name: Install packages | |
run: | | |
sudo apt install awscli -q | |
- 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: true | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.mariadb.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 -v | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
APPLICATION_STORE=AT docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
run: | | |
docker/sdk exec robot-framework robot -v env:api_b2c -v docker:True --exclude skip-due-to-issueORskip-due-to-refactoring -d results -s robotframework.tests.api.b2c.'*'.positive . | |
- 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}}/b2c-robot-api-ci/${GITHUB_RUN_ID}/PHP8.2MariaDBRobot/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" | |
negative-docker-alpine-php-8-2-mariadb-robot: | |
name: "[Hackathon] Negative / Docker / Alpine / PHP 8.2 / MariaDB / Robot/ API" | |
if: "contains(github.event.pull_request.head.ref, 'hackathon')" | |
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 | |
- name: Install packages | |
run: | | |
sudo apt install awscli -q | |
- 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: true | |
run: | | |
git clone https://github.com/spryker/docker-sdk.git ./docker | |
docker/sdk boot -v deploy.ci.acceptance.mariadb.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 -v | |
docker/sdk cli composer dump-autoload -o -a --apcu | |
docker/sdk testing console queue:worker:start --stop-when-empty | |
APPLICATION_STORE=AT docker/sdk console queue:worker:start --stop-when-empty | |
- name: Run Tests | |
run: | | |
docker/sdk exec robot-framework robot -v env:api_b2c -v docker:True --exclude skip-due-to-issueORskip-due-to-refactoring -d results -s robotframework.tests.api.b2c.'*'.negative . | |
- 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}}/b2c-robot-api-ci/${GITHUB_RUN_ID}/PHP8.2MariaDBRobot/ \ | |
--recursive \ | |
--expires "$(date -d '+7 days' --utc +'%Y-%m-%dT%H:%M:%SZ')" |