Skip to content

test(ci): concurrency probe (do not merge) - #379

Closed
chhoumann wants to merge 5 commits into
masterfrom
ci/ci1-concurrency-probe
Closed

chhoumann wants to merge 5 commits into
masterfrom
ci/ci1-concurrency-probe

Conversation

@chhoumann

@chhoumann chhoumann commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Temporary CI1 fixed-policy edit 2. Do not merge.

@chhoumann chhoumann closed this Oct 11, 2026
@chhoumann chhoumann reopened this Oct 11, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Deploying podnotes with  Cloudflare Pages  Cloudflare Pages

Latest commit: 1e565b2
Status: ✅  Deploy successful!
Preview URL: https://1afefb65.podnotes.pages.dev
Branch Preview URL: https://ci-ci1-concurrency-probe.podnotes.pages.dev

View logs

@chhoumann chhoumann closed this Oct 11, 2026
@chhoumann chhoumann reopened this Oct 11, 2026
@chhoumann
chhoumann changed the base branch from master to ci/ci1-concurrency-probe-base October 11, 2026 03:34
@chhoumann chhoumann closed this Oct 11, 2026
@chhoumann chhoumann reopened this Oct 11, 2026
@chhoumann chhoumann closed this Oct 11, 2026
@chhoumann chhoumann reopened this Oct 11, 2026
@chhoumann
chhoumann changed the base branch from ci/ci1-concurrency-probe-base to master October 11, 2026 03:37
@chhoumann chhoumann closed this Oct 11, 2026
@chhoumann chhoumann reopened this Oct 11, 2026
@chhoumann

Copy link
Copy Markdown
Owner Author

CI1 concurrency evidence. This temporary draft will not merge.

Original release #372 webhook deliveries show two synchronize actions with the same before/after SHA, then one edited body action. For head e31dc73, delivery IDs are 3847621255714832384 at 03:11:07.006Z, 3847621256918597632 at 03:11:07.608Z, and 3847621258967515136 at 03:11:08.560Z. That starts two runs each of Test, Docs and Dependency Review, and three PR Title runs. The PR-level concurrency groups cancel earlier runs even though their head is identical.

Before

The probe reproduced this with opened then reopened, followed by rapid body edits. All four required names have cancelled runs on one head. After the newest checks passed, the aggregate rollup remained FAILURE while merge state was CLEAN and the required-check CLI returned only passes. Cancelled duplicates poison the aggregate, but do not universally block the ruleset.

head 56fed72eecd7a7edd273e7d678d828e679e86e14 merge state CLEAN rollup FAILURE
114379385990	Cloudflare Pages	completed	success
114379376355	Docs	completed	success
114379375301	Test	completed	success
114379375282	Dependency Review	completed	success
114379373410	Validate PR title	completed	success
114379368011	Validate PR title	completed	cancelled
114379354348	CodeQL	completed	success
114379345845	Validate PR title	completed	success
114379341646	Validate PR title	completed	cancelled
114379336883	Validate PR title	completed	cancelled
114379334967	validate	completed	skipped
114379283232	Macroscope - Correctness Check	completed	success
114379276460	Validate PR title	completed	success
114379275819	Dependency Review	completed	cancelled
114379275759	Test	completed	cancelled
114379275738	Docs	completed	cancelled
114379274112	Analyze (javascript-typescript)	completed	success
114379274061	Analyze (actions)	completed	success

Fixed duplicate head

Head 1df3ef21c83025998cb5b396b7730b1e8d75d080 has aggregate SUCCESS and zero cancelled checks. A 45-second event-log step kept fixed duplicates overlapping. One synchronize, two reopens and body/base edits exercised the same-head policy. A later push superseded the head while its final Test run was active; it still finished successfully.

rollup SUCCESS
114380167179	Dependency Review	COMPLETED	SUCCESS
114380276545	Dependency Review	COMPLETED	SUCCESS
114380560805	Dependency Review	COMPLETED	SUCCESS
114380167225	Docs	COMPLETED	SUCCESS
114380276628	Docs	COMPLETED	SUCCESS
114380561064	Docs	COMPLETED	SUCCESS
114380167143	Test	COMPLETED	SUCCESS
114380276741	Test	COMPLETED	SUCCESS
114380561209	Test	COMPLETED	SUCCESS
114380164066	Validate PR title	COMPLETED	SUCCESS
114380167356	Validate PR title	COMPLETED	SUCCESS
114380276522	Validate PR title	COMPLETED	SUCCESS
114380278048	Validate PR title	COMPLETED	SUCCESS
114380323025	Validate PR title	COMPLETED	SUCCESS
114380325250	Validate PR title	COMPLETED	SUCCESS
114380349215	Validate PR title	COMPLETED	SUCCESS
114380350656	Validate PR title	COMPLETED	SUCCESS
114380431085	Validate PR title	COMPLETED	SUCCESS
114380432222	Validate PR title	COMPLETED	SUCCESS
114380561376	Validate PR title	COMPLETED	SUCCESS
114380562947	Validate PR title	COMPLETED	SUCCESS

All six fixed title proxy runs passed. Run IDs distinguish them from the unchanged default-branch title workflow.

38109041718	PR Title probe	completed	success
38108998837	PR Title probe	completed	success
38108971346	PR Title probe	completed	success
38108962703	PR Title probe	completed	success
38108946638	PR Title probe	completed	success
38108909457	PR Title probe	completed	success

Current head against master

A final push against master restores the CodeQL default-setup check too. All five required check names pass, with no cancelled check on the head.

after 1e565b2ee16491f75dceecb2fd12de26a97e2115 CLEAN SUCCESS
114380848311	Cloudflare Pages	completed	success
114380783489	CodeQL	completed	success
114380697464	Dependency Review	completed	success
114380697458	Docs	completed	success
114380697436	Test	completed	success
114380697348	Validate PR title	completed	success
114380695450	Validate PR title	completed	success
114380694996	Analyze (actions)	completed	success
114380694922	Analyze (javascript-typescript)	completed	success
114380694737	Macroscope - Correctness Check	completed	skipped

Fixture limits

Since December 2025, pull_request_target always reads the default-branch workflow. The scratch-base attempt still used the old title concurrency and is not passing evidence. The final probe copies the exact fixed title workflow into a temporary pull_request workflow, preserving the required job name and API title validation. Each old default-branch title job finished between events while the delayed fixed copies overlapped. This proves the fixed policy on GitHub, but the actual production title trigger needs a post-merge probe.

The copied policies match the final source except for event logging/delay, the proxy workflow name/event, and a temporary Dependency Review scratch-base filter. The final experiment targeted master. The scratch branches are deleted after the draft closes.

The source change removes only four concurrency blocks and adds an AGENTS policy note. The coordinator explicitly accepts stale runs finishing. Native groups cancel a pending run by default even with cancel-in-progress: false, so keeping a group retains a cancellation path.

Node 22.23.2 validation passes: npm run lint, npm run format:check, npm run typecheck, npm run build, npm run test (81 files, 1,263 tests), and npm run docs:build. Actionlint 1.7.12 passes. Workflow-only changes did not need Obsidian verification.

References: GitHub concurrency, default-branch sourcing change.

@chhoumann chhoumann closed this Oct 11, 2026
@chhoumann
chhoumann deleted the ci/ci1-concurrency-probe branch October 11, 2026 03:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant