From c311cf588f688e38a78f8a306e5a7f910675bc6e Mon Sep 17 00:00:00 2001
From: Patrick Weyck
Date: Tue, 1 Oct 2024 10:55:57 +0200
Subject: [PATCH] NEXT-37776 - Add ats job
---
.github/workflows/tests.yml | 94 +++++++++++++++++++++++++++++++++++++
1 file changed, 94 insertions(+)
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 63a7ce609..8e283b5a8 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -152,3 +152,97 @@ jobs:
with:
name: meteor-admin-sdk--playwright-test-results
path: packages/admin-sdk/playwright-report/
+
+ ats:
+ name: Acceptance tests
+ timeout-minutes: 20
+ runs-on: ubuntu-latest
+ needs:
+ - circular-dependencies
+ - unit-tests
+ env:
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
+ TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
+ TZ: Europe/Berlin
+ strategy:
+ fail-fast: false
+ matrix:
+ shopware-version:
+ - v6.6.6.1
+ - trunk
+ steps:
+ - name: Setup shopware
+ uses: shopware/setup-shopware@main
+ with:
+ path: shopware/
+ install: "true"
+ installAdmin: "true"
+ installStorefront: "true"
+ shopware-version: "${{ matrix.shopware-version }}"
+ env: prod
+
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ path: meteor/
+
+ - name: Symlink plugin
+ working-directory: shopware/custom/plugins/
+ run: ln -s ../../../meteor/examples/TestPlugin
+
+ - name: Activate TestPlugin
+ working-directory: shopware/
+ run: |
+ bin/console plugin:refresh
+ bin/console plugin:install --activate TestPlugin
+
+ - uses: pnpm/action-setup@v3
+ with:
+ version: 9
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: "20"
+ cache: "pnpm"
+ cache-dependency-path: "**/pnpm-lock.yaml"
+
+ - name: Install dependencies
+ working-directory: meteor/
+ run: pnpm install --frozen-lockfile --prefer-offline
+
+ - name: Build packages
+ working-directory: meteor/
+ run: npx turbo run build
+
+ - name: Build assets
+ working-directory: shopware/
+ run: |
+ composer run build:js
+ bin/console assets:install
+
+ - name: Start webserver
+ working-directory: shopware/
+ run: symfony server:start --allow-http --no-tls --port=8000 -d
+
+ - name: Install playwright
+ working-directory: meteor/examples/TestPlugin/tests/acceptance/
+ run: |
+ pnpm install --frozen-lockfile --prefer-offline
+ npx playwright install --with-deps
+
+ - name: Run Playwrigth
+ working-directory: meteor/examples/TestPlugin/tests/acceptance/
+ run: npx playwright test --reporter=github --trace=on-first-retry --project chromium
+
+ - uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: ats-test-results-${{ matrix.project }}
+ path: meteor/examples/TestPlugin/tests/acceptance/test-results/
+
+ - uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: ats-report-${{ matrix.project }}
+ path: meteor/examples/TestPlugin/tests/acceptance/playwright-report/