diff --git a/.github/workflows/test-e2e-playwright.yml b/.github/workflows/test-e2e-playwright.yml new file mode 100644 index 0000000000..777d5f9f8b --- /dev/null +++ b/.github/workflows/test-e2e-playwright.yml @@ -0,0 +1,35 @@ +name: E2E Tests Playwright +on: + pull_request: + branches: [ master ] + workflow_dispatch: + inputs: + sha: + type: string + required: false + description: Target SHA + +jobs: + test: + name: Run Tests + runs-on: ubuntu-latest + timeout-minutes: 60 + steps: + - uses: actions/checkout@v4 + if: ${{ github.event_name != 'workflow_dispatch' }} + - uses: actions/checkout@v4 + if: ${{ github.event_name == 'workflow_dispatch' }} + with: + ref: ${{ github.event.inputs.sha }} + - name: Setup node environment + uses: ./.github/actions/init-env-node + - name: Install Playwright Browsers + run: cd apps/web && pnpm exec playwright install --with-deps + - name: Run Playwright tests + run: pnpm exec turbo run test:e2e:playwright + - uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: playwright-report + path: playwright-report/ + retention-days: 30 diff --git a/.github/workflows/test-e2e.yml b/.github/workflows/test-e2e-webdriver.yml similarity index 97% rename from .github/workflows/test-e2e.yml rename to .github/workflows/test-e2e-webdriver.yml index d4f3ba1ebc..c62b25f138 100644 --- a/.github/workflows/test-e2e.yml +++ b/.github/workflows/test-e2e-webdriver.yml @@ -1,4 +1,4 @@ -name: E2E Tests +name: E2E Tests Webdriver on: pull_request: branches: [master] @@ -11,7 +11,7 @@ on: jobs: test: - name: Run WebdriverIO Tests + name: Run Tests runs-on: ubuntu-latest env: CARGO_TERM_COLOR: always diff --git a/apps/web/package.json b/apps/web/package.json index 7141902a0e..0ed149e838 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -10,7 +10,7 @@ "prepare": "svelte-kit sync", "check": "svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", - "test:e2e": "playwright test" + "test:e2e:playwright": "playwright test" }, "devDependencies": { "@fontsource/fira-mono": "^4.5.10", diff --git a/package.json b/package.json index 4f3a49f6e9..3aec1f0956 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "package": "turbo run package", "test": "turbo run test --no-daemon", "test:watch": "pnpm --filter @gitbutler/desktop run test:watch", + "test:e2e:web": "turbo run test:e2e:web", "test:e2e": "pnpm --filter @gitbutler/desktop run test:e2e", "act:test:e2e": "act -j test -W .github/workflows/test-e2e.yml -P catthehacker/ubuntu:act-22.04", "build": "turbo run build --no-daemon", diff --git a/turbo.json b/turbo.json index f0e7c4e928..c07bd1bcad 100644 --- a/turbo.json +++ b/turbo.json @@ -29,6 +29,9 @@ "test": { "dependsOn": ["package", "playwright:install"] }, + "test:e2e:web": { + "dependsOn": ["package"] + }, "//#globallint": { "dependsOn": ["@gitbutler/ui#package", "@gitbutler/shared#package"] }