|
36 | 36 |
|
37 | 37 | name: E2E cloud |
38 | 38 |
|
39 | | -# No path filter on triggers: must always start so branch protection |
40 | | -# can require this workflow's gate as a status check. Path matching |
41 | | -# happens inside the `changes` job and gates the expensive `e2e` job. |
| 39 | +# Runs only on push-to-main and manual dispatch — PR triggering would |
| 40 | +# serialize every PR against the shared Tokyo stack (see concurrency |
| 41 | +# below), and the E2E suite is too slow to gate every PR on. Path |
| 42 | +# matching happens inside the `changes` job and gates the expensive |
| 43 | +# `e2e` job. |
42 | 44 | on: |
43 | 45 | push: |
44 | 46 | branches: [main] |
45 | | - pull_request: |
46 | | - branches: [main] |
47 | 47 | workflow_dispatch: {} |
48 | 48 |
|
49 | | -# Singleton lock — every run (every PR + every push) must serialize |
50 | | -# against the SHARED Tokyo stack. Per-ref grouping is wrong here: |
51 | | -# PR-A and PR-B have different refs but compete for the same ECS |
52 | | -# service / runner binary / RDS row. cancel-in-progress: false because |
53 | | -# a half-applied ECS rolling update is worse than waiting. |
| 49 | +# Singleton lock — every run must serialize against the SHARED Tokyo |
| 50 | +# stack. Per-ref grouping is wrong here: two merges to main race on |
| 51 | +# the same ECS service / runner binary / RDS row. cancel-in-progress: |
| 52 | +# false because a half-applied ECS rolling update is worse than waiting. |
54 | 53 | concurrency: |
55 | 54 | group: e2e-cloud-shared |
56 | 55 | cancel-in-progress: false |
57 | 56 |
|
58 | 57 | env: |
59 | 58 | # AWS identifiers come from repo variables (same pattern as |
60 | | - # .github/workflows/e2e-test.yml). `vars.*` is stripped by GitHub |
61 | | - # for fork-PR runs, but this workflow is gated on same-repo branches |
62 | | - # (push to main + workflow_dispatch + same-repo PR), so the context |
63 | | - # is always populated. Set via repo Settings → Variables: |
| 59 | + # .github/workflows/e2e-test.yml). Set via repo Settings → Variables: |
64 | 60 | # AWS_ACCOUNT_ID, AWS_E2E_CLOUD_REGION, AWS_E2E_CLOUD_ROLE_ARN |
65 | 61 | # Keeps the account ID out of the public repo source — defense in |
66 | 62 | # depth (AWS treats account ID as "sensitive, not secret", but no |
|
0 commit comments