.github/workflows/test_bluegreen.yml #256
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
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 |