Skip to content

fix(actions): cancel MV3 runs on draft transition - #306

Draft
seonghobae wants to merge 1 commit into
codex/avoid-mv3-draft-transition-runsfrom
codex/mv3-draft-cancellation-20260909
Draft

fix(actions): cancel MV3 runs on draft transition#306
seonghobae wants to merge 1 commit into
codex/avoid-mv3-draft-transition-runsfrom
codex/mv3-draft-cancellation-20260909

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Summary

  • subscribe the MV3 workflow to pull_request.converted_to_draft
  • let that event enter the existing PR-scoped concurrency group and cancel an earlier running browser job
  • keep the Draft job guard, so the cancellation event creates no replacement Chrome run

Traceability

Test-first evidence

  • RED: uv run pytest tests/test_mv3_compatibility_contract.py -q failed because converted_to_draft was absent from the trigger list.
  • GREEN: same command reports 9 passed, 59 subtests passed; actionlint .github/workflows/mv3-compatibility.yml; git diff --check.

The event transition itself will be proven only by a hosted PR lifecycle run. No browser compatibility, release, deployment, or merge is claimed.

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 993e7371-fd11-435b-83d5-0e86e8d72e65

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae
seonghobae marked this pull request as draft September 9, 2026 08:32

@seonghobae seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head governance/owner finding on 6a5c8e15aee9bcd89dc978e34f273727607d1227: this successor was opened Ready while its direct parent #290 is intentionally Draft because ebeefcd534db4324498fdb18046ebc6255ddcdf2 is based on stale #245 rather than the protected MV3 workflow generation. #290's live body also records that promoting its predecessor-relative workflow verbatim would regress protected converted_to_draft/closed lifecycle semantics and assigns reconstruction to canonical workflow owner #212. The new converted_to_draft cancellation intent is valid and should be preserved, but stacking another workflow mutation on that intentionally non-promotable parent does not make the stack Ready or establish protected-generation compatibility. I converted #306 back to Draft without changing head/base/source. Repair by carrying the valid cancellation intent into #212's authorized current-generation workflow reconstruction (preserving closed-event fail-closed behavior, concurrency/lifecycle, harden-runner/egress and immutable pins), then restack/retarget non-destructively and regenerate exact-head contracts plus hosted lifecycle evidence. Do not close merely to reduce queue count, and do not copy this stale workflow blob directly into protected main.

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