diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml deleted file mode 100644 index e2b7748a..00000000 --- a/.github/workflows/nightly.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Nightly - -on: - schedule: - - cron: '0 1 * * *' # every day at 01:00 - workflow_dispatch: - -jobs: - cypress: - runs-on: ubuntu-latest - steps: - - name: Setup Shopware - uses: shopware/setup-shopware@v1 - with: - shopware-version: '6.5.7.3' - php-version: 8.1 - env: 'e2e' - - - name: Checkout - uses: actions/checkout@v3 - with: - path: custom/plugins/FroshPlatformTemplateMail - - - name: Run Tests - run: | - cd custom/plugins/FroshPlatformTemplateMail/ - php -d pcov.enabled=1 ../../../vendor/bin/phpunit --coverage-clover clover.xml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 63a7ce60..ce362643 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -152,3 +152,117 @@ jobs: with: name: meteor-admin-sdk--playwright-test-results path: packages/admin-sdk/playwright-report/ + + + tested-versions: + name: tested-versions + runs-on: ubuntu-latest + outputs: + first-version: ${{ steps.versions.outputs.first-version }} + latest-version: ${{ steps.versions.outputs.latest-version }} + lts-first-version: ${{ steps.versions.outputs.lts-first-version }} + lts-latest-version: ${{ steps.versions.outputs.lts-latest-version }} + steps: + - name: Generate versions + id: versions + uses: shopware/github-actions/versions@main + + ats: + name: Acceptance tests + timeout-minutes: 20 + runs-on: ubuntu-latest + needs: + - circular-dependencies + - unit-tests + - static-analysis + - tested-versions + env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ secrets.TURBO_TEAM }} + TZ: Europe/Berlin + strategy: + fail-fast: false + matrix: + shopware-version: + # TODO: add again with next major, does not work right now because 6.5 does not support vue3 + # - ${{ needs.tested-versions.outputs.lts-latest-version }} + - ${{ needs.tested-versions.outputs.first-version }} + - ${{ needs.tested-versions.outputs.latest-version }} + - 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: dev + + - 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 + bin/console cache:clear + + - 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 --retries=2 --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/ diff --git a/examples/TestPlugin/tests/acceptance/package.json b/examples/TestPlugin/tests/acceptance/package.json index ef132997..804b37ec 100644 --- a/examples/TestPlugin/tests/acceptance/package.json +++ b/examples/TestPlugin/tests/acceptance/package.json @@ -4,8 +4,8 @@ "description": "", "main": "index.js", "scripts": { - "test:e2e": "playwright test", - "test:e2e:dev": "playwright test --ui", + "test:ats": "playwright test", + "test:ats:dev": "playwright test --ui", "format": "prettier ./tests --write", "lint:eslint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix"