Skip to content

feat(browser): Add navigation activationStart timestamp to pageload span #1589

feat(browser): Add navigation activationStart timestamp to pageload span

feat(browser): Add navigation activationStart timestamp to pageload span #1589

name: 'CI: Detect flaky tests'
on:
workflow_dispatch:
pull_request:
paths:
- 'dev-packages/browser-integration-tests/suites/**/test.ts'
branches-ignore:
- master
env:
HEAD_COMMIT: ${{ github.event.inputs.commit || github.sha }}
NX_CACHE_RESTORE_KEYS: |
nx-Linux-${{ github.ref }}-${{ github.event.inputs.commit || github.sha }}
nx-Linux-${{ github.ref }}
nx-Linux
# Cancel in progress workflows on pull_requests.
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
flaky-detector:
runs-on: ubuntu-20.04
timeout-minutes: 60
name: 'Check tests for flakiness'
# Also skip if PR is from master -> develop
if: ${{ github.base_ref != 'master' && github.ref != 'refs/heads/master' }}
steps:
- name: Check out current branch
uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
cache: 'yarn'
- name: Install dependencies
run: yarn install --ignore-engines --frozen-lockfile
- name: NX cache
uses: actions/cache/restore@v4
with:
path: .nxcache
key: nx-Linux-${{ github.ref }}-${{ env.HEAD_COMMIT }}
restore-keys: ${{ env.NX_CACHE_RESTORE_KEYS }}
- name: Build packages
run: yarn build
- name: Install Playwright
uses: ./.github/actions/install-playwright
- name: Determine changed tests
uses: dorny/[email protected]
id: changed
with:
list-files: json
filters: |
browser_integration: dev-packages/browser-integration-tests/suites/**/test.ts
- name: Detect flaky tests
id: test
run: yarn test:detect-flaky
working-directory: dev-packages/browser-integration-tests
env:
CHANGED_TEST_PATHS: ${{ steps.changed.outputs.browser_integration_files }}
TEST_RUN_COUNT: 'AUTO'
- name: Upload Playwright Traces
uses: actions/upload-artifact@v4
if: failure() && steps.test.outcome == 'failure'
with:
name: playwright-test-results
path: dev-packages/browser-integration-tests/test-results
retention-days: 5