Repository navigation
ci: skip CodeQL, release preview and title checks on the standing release PR - #672
Merged
Merged
Conversation
…ease PR Every merge to main updates release/next. Once those runs are approved, CodeQL analyses code main already scanned, and the release preview does a full-history checkout and builds every package before its CLI skips the standing PR. Each label change on the standing PR repeats the preview, and each edit of the PR repeats the title check, although releasekit writes that title. A diff of version bumps and changelogs gives none of them anything to find, and none is a required check. The repo check keeps a fork's release/next branch checked. CodeQL also had no concurrency group, so back-to-back pushes to main or a PR each ran a full analysis. Cancel the superseded run, as CI does: the newer run scans the latest code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
Contributor
|
Standing release PR: #614 · v0.42.0 queued (4 packages) · open 82d 2h 2m · ✅ ready to merge Release Preview — v0.41.2 → v0.41.3
These changes will be added to the release PR (#614) when merged: Changelogmonorepo 0.41.2 → 0.41.3
After merge — predicted release
Updated automatically by ReleaseKit |
7 of 20 tasks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
The job guards hardcode release/next because if: can't read the config. pnpm workflows:check compares every github.head_ref literal with the configured branch (or the schema default) and runs in the Lint job. releasekit.config.json joins the infra filter so a config-only change still runs it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
…ngPr.branch" This reverts commit 20ec3e8.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e
This was referenced Oct 22, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Ports webdriverio/desktop-mobile#765 to releasekit's own CI, which also runs standing-PR mode on
release/next.Job guards. In
codeql.yml,pr-title.ymlandrelease-preview.yml, the job now skips when the PR comes from this repo's ownrelease/next:The standing PR's diff is only version bumps and changelogs, so none of these checks can find anything there:
mainhas already scanned.pnpm installandpnpm buildof every package beforecli.js previewnotices that the head isci.standingPr.branchand skips. It runs on every label change on the standing PR, and those come from humans, so they run straight away.pull_request_target) runs on every edit of the standing PR (e.g. 12 runs triggered by greptile), but releasekit writes that title.On push and schedule events
github.head_refis empty, somainand the weekly CodeQL scan still run. The repo check stops a fork from skipping these checks with a branch of the same name.CodeQL concurrency. CodeQL now has
${{ github.workflow }}-${{ github.ref }}withcancel-in-progress: true, so a newer push to a PR or tomaincancels the superseded analysis, asci.ymlalready does. A cancelled run onmainloses nothing: the newer run scans the latest code. On 2026-10-22, two merges a minute apart each ran a full analysis.Checked while adapting
mainhas no branch protection and no rulesets, so the standing PR's mergeability doesn't change. If a check were made required later, a skipped job reports as success, so the standing PR could still merge — that's why the guard sits on the job, not the trigger (pull_requestcan't filter on the head branch anyway).action-semantic-pull-requestcommit status (wip: true). The standing PR doesn't get that status today either (bot pushes don't triggerpull_request_target), but if that context is ever made required it needs an exception forrelease/next.workflow_runon any of these three; releasekit's preview posts its own comment, so desktop-mobile's preview-comment workflow has no counterpart.ifguards can't readreleasekit.config.json, so the guard hardcodes the defaultrelease/next. The comments refer to it asci.standingPr.branchrather than by name. The CLI's in-step check stays authoritative.GITHUB_TOKEN, so thepull_requestruns they create wait for approval (action_required). The guards don't change that; approved runs just skip instead of analysing and building.Not carried over: the consumer template
templates/workflows/release-preview.ymlis unchanged. It's user-facing and examples-smoke generates its workflow from it; whether it should ship the same guard is a separate decision.Related Issue(s)
Port of webdriverio/desktop-mobile#765. While checking this PR's release preview, found #683.
Type of Change
feat— New featurefix— Bug fixdocs— Documentation changerefactor— Code refactoringtest— Adding or updating testschore— Maintenance, dependencies, toolingScope
@releasekit/version@releasekit/notes@releasekit/publish@releasekit/config@releasekit/coreChecklist
pnpm lint)pnpm test) — YAML onlypnpm typecheck) — YAML onlyTesting Notes
actionlintis clean on all three changed workflows; all three load withyaml.safe_load.Guard behaviour, by case:
release/nextPRrelease/nextPRgithub.head_refandgithub.event.pull_request.head.repoare both set forpull_requestandpull_request_target.To confirm on GitHub after merge: the next standing-PR update should show these three jobs as skipped once its runs are approved.
🤖 Generated with Claude Code
https://claude.ai/code/session_01HQN3v9Z4f1mu3xK4Z7K44e