.github/workflows/test_update.yml #279
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 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 |