mirror of
https://github.com/n8n-io/n8n
synced 2026-04-19 13:05:54 +02:00
70 lines
2.3 KiB
YAML
70 lines
2.3 KiB
YAML
name: 'Test: E2E Coverage Weekly'
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 2 * * 1' # Every Monday at 2 AM
|
|
workflow_dispatch: # Allow manual triggering
|
|
|
|
env:
|
|
NODE_OPTIONS: --max-old-space-size=16384
|
|
TESTCONTAINERS_RYUK_DISABLED: true
|
|
PLAYWRIGHT_WORKERS: 4
|
|
PLAYWRIGHT_BROWSERS_PATH: packages/testing/playwright/.playwright-browsers
|
|
|
|
jobs:
|
|
coverage:
|
|
runs-on: blacksmith-8vcpu-ubuntu-2204
|
|
name: Coverage Tests
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
|
|
- name: Setup Environment
|
|
uses: ./.github/actions/setup-nodejs
|
|
env:
|
|
INCLUDE_TEST_CONTROLLER: 'true'
|
|
|
|
- name: Build Docker Image with Coverage
|
|
run: pnpm build:docker:coverage
|
|
env:
|
|
INCLUDE_TEST_CONTROLLER: 'true'
|
|
|
|
- name: Install Browsers
|
|
run: pnpm turbo run install-browsers --filter=n8n-playwright
|
|
|
|
- name: Run Container Coverage Tests
|
|
id: coverage-tests
|
|
run: |
|
|
pnpm --filter n8n-playwright test:container:sqlite \
|
|
--workers=${{ env.PLAYWRIGHT_WORKERS }}
|
|
env:
|
|
BUILD_WITH_COVERAGE: 'true'
|
|
CURRENTS_RECORD_KEY: ${{ secrets.CURRENTS_RECORD_KEY }}
|
|
CURRENTS_PROJECT_ID: 'LRxcNt'
|
|
QA_PERFORMANCE_METRICS_WEBHOOK_URL: ${{ secrets.QA_PERFORMANCE_METRICS_WEBHOOK_URL }}
|
|
QA_PERFORMANCE_METRICS_WEBHOOK_USER: ${{ secrets.QA_PERFORMANCE_METRICS_WEBHOOK_USER }}
|
|
QA_PERFORMANCE_METRICS_WEBHOOK_PASSWORD: ${{ secrets.QA_PERFORMANCE_METRICS_WEBHOOK_PASSWORD }}
|
|
|
|
- name: Generate Coverage Report
|
|
if: always() && steps.coverage-tests.outcome != 'skipped'
|
|
run: pnpm --filter n8n-playwright coverage:report
|
|
|
|
- name: Upload Coverage Report Artifact
|
|
if: always()
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: coverage-report
|
|
path: packages/testing/playwright/coverage/
|
|
retention-days: 14
|
|
|
|
- name: Upload E2E Coverage to Codecov
|
|
if: always()
|
|
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
files: packages/testing/playwright/coverage/lcov.info
|
|
flags: frontend-e2e
|
|
name: playwright-e2e
|
|
fail_ci_if_error: false
|