Skip to content

.github/workflows/test_update.yml #269

.github/workflows/test_update.yml

.github/workflows/test_update.yml #269

Workflow file for this run

on:
push:
workflow_dispatch:
schedule:
- cron: "0 4 * * *"
jobs:
setup-shopware:
name: Update 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
- name: Download last update package and unzip it
run: |
mkdir ./output
LATEST_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/shopware5/shopware/releases/latest)
LATEST_VERSION_ID=$(echo $LATEST_RELEASE | sed -e 's/.*"id":\([^",]*\).*/\1/')
ASSETS=$(curl -L -s -H 'Accept: application/json' https://api.github.com/repos/shopware5/shopware/releases/$LATEST_VERSION_ID/assets)
ARTIFACT_URL=$(echo $ASSETS | sed -e 's/.*"browser_download_url": "\([^",]*update[^",]*\)".*/\1/')
wget -O update.zip $ARTIFACT_URL
unzip -o update.zip -d /shopware
- run: |
/usr/bin/supervisord -c /etc/supervisord.conf &
bash .github/wait-for-mysql.sh
- run: mysql -u root -proot shopware -e 'UPDATE s_core_shops SET host = "shopware.test" WHERE id = 1;'
- name: Copy files
run: |
cp ./tests/.env.dist ./tests/.env
cp ./tests/behat.yml.dist ./tests/behat.yml
shell: bash
- name: Chmod all files
run: |
chmod -R 777 /shopware/var /shopware/web/cache /shopware/files
- 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&&~@knownFailing'
- name: Archive results
if: always()
uses: actions/upload-artifact@v3
with:
name: build data
path: tests/logs/mink