Skip to content

fix(required-gate): guard label reruns to ci:full#60

Merged
ArchonVII merged 1 commit into
mainfrom
agent/codex/59-ci-full-label-guard
Jun 9, 2026
Merged

fix(required-gate): guard label reruns to ci:full#60
ArchonVII merged 1 commit into
mainfrom
agent/codex/59-ci-full-label-guard

Conversation

@ArchonVII

Copy link
Copy Markdown
Owner

Summary

  • Restore labeled / unlabeled events to the required-gate caller so ci:full can intentionally rerun the gate.
  • Add a caller-level job guard and concurrency guard so only ci:full label changes invoke or cancel the reusable gate.
  • Document the guard and add a regression test for the label-specific behavior.

Verification

  • npm test
Vitest reported 6 files passed / 122 tests passed.
  • Workflow syntax
actionlint examples/repo-required-gate.yml .github/workflows/repo-required-gate.yml returned no diagnostics.
git diff --check returned no whitespace errors; only existing CRLF conversion warnings were printed.

Docs / Changelog

Added .changelog/unreleased/59-ci-full-label-guard.md and updated README required-gate label semantics.

Linked Issue

Closes #59

Risks

Low. Non-ci:full label changes can create a skipped caller run, but they do not run repo-required-gate / decision and do not cancel an in-flight gate.

@ArchonVII
ArchonVII merged commit 62d3f86 into main Jun 9, 2026
1 check passed
@ArchonVII
ArchonVII deleted the agent/codex/59-ci-full-label-guard branch June 9, 2026 22:45

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d9f611e47a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +21 to +24
github.event_name == 'pull_request' &&
(
(github.event.action != 'labeled' && github.event.action != 'unlabeled') ||
github.event.label.name == 'ci:full'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep non-ci label events out of concurrency

For non-ci:full label changes this expression only sets cancel-in-progress to false, but the run still enters the same workflow-level concurrency group. GitHub's concurrency docs state that, by default, only one run can be pending in a group and any additional pending run cancels the previous one; so if a gate run is already running and a newer synchronize gate is pending, adding no-changelog can replace that pending required-gate run with a skipped label run, leaving the latest commit without the required repo-required-gate / decision result. The non-ci label runs need to avoid this concurrency group entirely or use a separate group/queueing behavior.

Useful? React with 👍 / 👎.

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.

Guard required-gate label reruns to ci:full only

1 participant