Repository navigation
ci: make Dependabot's security updates pass the checks - #254
Merged
kalaspuff merged 2 commits intoOct 24, 2026
Merged
Conversation
Dependabot opened #252 as a security update from /web, the directory of the alert GitHub raised for web/package.json. It looks for package-lock.json only in the directory it updates, and the npm workspace's lockfile is at the root, so it changed web/package.json alone and npm ci failed; its title, "Bump happy-dom from 21.0.3 to 21.0.4 in /web", failed Conventional Commits too. .github/dependabot.yml titles security updates build(deps): bump … (and ci(deps): bump … for actions), keeps version updates off, and has the workspaces' and crates' own directories open no pull requests: GitHub raises the same alert for the root lockfile, whose pull request changes the manifest and the lockfile together.
This comment has been minimized.
This comment has been minimized.
xtask lint-commit takes subjects of up to 72 characters, and Dependabot's titles carry the package's whole name and both versions: of the 541 packages in the lockfiles, 26 would go past it (mostly platform builds, such as @cloudflare/workerd-linux-64).
This was referenced Oct 24, 2026
kalaspuff
approved these changes
Oct 24, 2026
kalaspuff
deleted the
fctl/235-we-just-got-a-dependabot-pr-it-seems-lik
branch
October 24, 2026 13:56
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.
Summary
Dependabot's security update #252 failed three checks because of how GitHub runs security updates in an npm workspace. GitHub raises a vulnerable package's alert once for each manifest that holds it (for happy-dom, the root
package-lock.jsonandweb/package.json, which pins it) and opens a pull request for each, sometimes days apart. Dependabot looks forpackage-lock.jsononly in the directory it updates (its npm file fetcher reads parent directories for pnpm's lockfile, not npm's), so the pull request from/webchangedweb/package.jsonwithout the lockfile, andnpm cirefused it in the web job and the smoke test. With no configuration, its title, "Bump happy-dom from 21.0.3 to 21.0.4 in /web", failed Conventional Commits too..github/dependabot.ymlnow titles security updatesbuild(deps): bump …(ci(deps): bump …for the workflows' actions) and keeps version updates off, as they are today (open-pull-requests-limit: 0). It has the workspaces' and the crates' own directories (/web,/deploy/standalone,/crates/*,/xtask) open no pull requests: the root's pull request for the same alert changes their manifests and the lockfile together, as it did in another public npm workspace laid out like this one, which got both pull requests for one advisory.docs/development.mdsays so under Checks, along with the one case that still fails the title check: a package name and versions long enough to take a title past 72 characters (26 of the 541 locked packages, nearly all platform builds such as@cloudflare/workerd-linux-64), which someone shortens by hand. I validated the file against SchemaStore's Dependabot schema and ran the titles it produces throughcargo xtask lint-commit. What GitHub does with it only shows once it is onmain, at the next alert.#252 itself can merge now: I added the root lockfile's change to its branch (npm 10, as CI runs it: happy-dom's version, tarball and integrity alone) and retitled it
build(deps): bump happy-dom from 21.0.3 to 21.0.4, and its checks pass. Dependabot's other alert today, undici, can't be fixed yet: wrangler 4.151.1, and 4.152.0 as well, pins a miniflare that pins undici 7.29.1, and the fix is 7.30.1. Why fctl's review agent skipped #252, and a change that has it review Dependabot's pull requests, are in #255:The same titles for the other repositories that check them (hyperstructure/sandbox's Dependabot already uses
ci(deps)):Worth confirming
open-pull-requests-limitturns them on for an ecosystem.package.jsonor a crate'sCargo.toml, it raises the same one on the root lockfile, whose pull request fixes both. If it ever doesn't, that alert gets no pull request, since those directories open none.fctl session