-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathrun-performance-e2e-experimental.yml
More file actions
68 lines (63 loc) · 2.44 KB
/
run-performance-e2e-experimental.yml
File metadata and controls
68 lines (63 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Same as run-performance-e2e-release but for experimental builds (main branch, build-exp).
# Triggers experimental Android/iOS builds and runs performance E2E.
name: Performance E2E Tests for Experimental Builds
on:
schedule:
- cron: '0 */3 * * 1-6' # Every 3 hours, Mon–Fri (aligned with main performance workflow)
workflow_dispatch:
inputs:
sentry_target:
description: 'Sentry target for performance events (test or real)'
required: false
type: choice
options:
- test
- real
default: test
push:
branches:
- main
# Must be at least as permissive as the called reusable workflow (run-performance-e2e.yml),
# which transitively requires contents: write via build-{android,ios}-upload-to-browserstack.yml.
permissions:
contents: write
id-token: write
actions: write
concurrency:
group: performance-e2e-experimental-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: false
jobs:
check-experimental-trigger:
name: Check if Experimental Performance Tests Should Run
runs-on: ubuntu-latest
outputs:
should-run: ${{ steps.check.outputs.should-run }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Check experimental trigger conditions
id: check
run: |
# Always run for manual dispatch or push to main
if [[ "${{ github.event_name }}" == "workflow_dispatch" || ("${{ github.event_name }}" == "push" && "${{ github.ref_name }}" == "main") ]]; then
echo "should-run=true" >> "$GITHUB_OUTPUT"
echo "Experimental performance tests triggered by ${{ github.event_name }}"
# For scheduled runs, always run (periodic performance check on experimental builds)
elif [[ "${{ github.event_name }}" == "schedule" ]]; then
echo "should-run=true" >> "$GITHUB_OUTPUT"
echo "Scheduled run: experimental performance E2E"
else
echo "should-run=false" >> "$GITHUB_OUTPUT"
fi
run-performance-e2e-experimental:
name: Run Performance E2E Tests for Experimental Builds
uses: ./.github/workflows/run-performance-e2e.yml
needs: [check-experimental-trigger]
if: needs.check-experimental-trigger.outputs.should-run == 'true'
with:
branch_name: main
build_variant: exp
sentry_target: ${{ inputs.sentry_target || 'test' }}
secrets: inherit