Skip to content

.github/workflows/test_bluegreen.yml #259

.github/workflows/test_bluegreen.yml

.github/workflows/test_bluegreen.yml #259

on:
push:
workflow_dispatch:
schedule:
- cron: "0 1 * * *"
jobs:
setup-shopware:
name: Blue Green Shopware
runs-on: ubuntu-latest
container:
image: ghcr.io/shopware5/docker-images-testing/zip:shopware_5.6.10_install_5.6.10_b9471cf7c3f30dfc05d7c959f555c2a8d1c24420_5.7_7.4_none
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
steps:
- run: |
apt-get update
apt-get install -y ca-certificates curl gnupg lsb-release
mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(lsb_release -i | awk '{ print tolower($3) }') $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
apt-get update
apt-get install -y docker-ce-cli docker-buildx-plugin docker-compose-plugin
- run: apt-get install -y unzip
- uses: actions/checkout@v3
- run: docker run -d --network=container:$(docker ps -q) --name chrome -e LANGUAGE=de --shm-size 3g selenium/standalone-chrome:94.0
- name: Exnable extra services
run: |
cp -r ./www/assetgenerator /var/www/assetgenerator
cp -r ./www/updates /var/www/updates
cp .github/sites-enabled/* /etc/nginx/sites-enabled
echo "127.0.0.1 assetgenerator.example" >> /etc/hosts
echo "127.0.0.1 mysql" >> /etc/hosts
echo "127.0.0.1 updates.example" >> /etc/hosts
echo "127.0.0.1 cdn.example" >> /etc/hosts
echo "127.0.0.1 shopware.test" >> /etc/hosts
echo "127.0.0.1 shopware-subshop-01.test" >> /etc/hosts
- run: |
/usr/bin/supervisord -c /etc/supervisord.conf &
bash .github/wait-for-mysql.sh
- name: Download latest Shopware
id: download-artifact
uses: dawidd6/action-download-artifact@v2
with:
github_token: ${{secrets.GITHUB_TOKEN}}
workflow: create-release.yml
workflow_conclusion: success
branch: 5.7
repo: shopware5/shopware
- name: Unzip artifacts
run: |
cd artifact && mv install*.zip ../update.zip && cd ..
unzip update.zip -d newInstallation
- name: Install database
run: |
mysql -u root -proot -e 'DROP DATABASE shopware; CREATE DATABASE shopware'
mysql -u root -proot shopware --default-character-set=utf8 < ./newInstallation/recovery/install/data/sql/install.sql
mysql -u root -proot shopware -e 'TRUNCATE s_core_snippets'
mysql -u root -proot shopware --default-character-set=utf8 < /shopware/recovery/install/data/sql/snippets.sql
mysql -u root -proot shopware -e 'UPDATE s_core_shops SET name = "Demo shop" WHERE id = 1'
- name: Setup shop
run: |
/shopware/bin/console sw:theme:initialize
/shopware/bin/console sw:admin:create --name="Demo" --email="[email protected]" --username="demo" --password="demo" --locale=de_DE -n
- run: mysql -u root -proot shopware -e 'UPDATE s_core_shops SET host = "shopware.test" WHERE id = 1;'
- name: Configure Shopware
run: bash ./.github/configure-sw-installation.sh
- name: Copy files
run: |
cp ./tests/.env.dist ./tests/.env
cp ./tests/behat.yml.dist ./tests/behat.yml
shell: bash
- name: Adjust config all files
run: |
cp ./.github/php/config_testing.php /shopware/config_testing.php
- run: |
mysqldump -u root -proot shopware > clean_db.sql
- name: Chmod all files
run: |
chmod -R 777 /shopware
- name: Run Mink
run: |
cd tests
composer install
vendor/bin/behat -vv --format=pretty --out=std --tags '~@updater&&~@installer&&~@knownFailing&&~@shopware52'
- name: Archive results
if: always()
uses: actions/upload-artifact@v3
with:
name: build data
path: tests/logs/mink