Skip to content

ci: keep the advisories watched and the actions current - #41

Merged
tkc merged 2 commits into
mainfrom
ci/watch-dependencies
Oct 28, 2026
Merged

tkc merged 2 commits into
mainfrom
ci/watch-dependencies

Conversation

@tkc

@tkc tkc commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

Two things, both about what CI depends on.

1. Nothing was watching the dependency tree

Asked to apply all security updates, I went looking for the alerts first. There are none, because nothing is looking:

  • Dependabot alerts: disabled on this repository
  • Secret scanning: disabled
  • Code scanning: no analysis has ever run

So the lockfile had to be checked by hand. cargo audit over the 348 crates reports 0 vulnerabilities and 2 informational warnings:

Advisory Crate Why it is not actionable here
RUSTSEC-2026-0253 (unsound) lru 0.16.4 Fixed in >= 0.18.2, but glyphon 0.12 pins lru = "0.16.2". The advisory needs a key type whose Drop panics inside catch_unwind; glyphon's key is GlyphonCacheKey, a Copy enum, and a Copy type cannot implement Drop. The path does not exist here.
RUSTSEC-2026-0192 (unmaintained) ttf-parser 0.25.1 Reached through cosmic-text → fontdb. The author has stopped maintaining it; patched = [], so there is no version to move to.

Both arrive under glyphon, and both leave when glyphon moves. Nothing to update, in other words — which is worth stating plainly rather than reporting a clean bill of health.

This adds a cargo audit job, running on Linux because it only reads Cargo.lock. The two advisories are named in ignore: with the reason and the condition for removing each, so the job stays quiet until something new appears. .github/dependabot.yml points Dependabot at cargo and at the actions, monthly, with the cargo updates grouped into a single pull request so the noise stays at one PR a month.

2. Every run has been warning about the action runtime

Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4

checkout moves to v7 and cache to v6, in CI and in the release workflow. dtolnay/rust-toolchain is a composite action with no Node runtime and is left as it is.

What this cannot change

Dependabot alerts and secret scanning are repository settings, not files. They are still off. One click each under Settings → Code security, and I would turn on both.

🤖 Generated with Claude Code

tkc and others added 2 commits October 28, 2026 16:39
Dependabot alerts, secret scanning and code scanning are all off on
this repository, so nothing was watching the dependency tree. A manual
`cargo audit` over the 348 crates in the lockfile reports no
vulnerabilities and two informational warnings, neither of which this
repository can act on: lru's panic-safety fix landed in 0.18.2 while
glyphon pins 0.16, and ttf-parser is unmaintained with no patched
release. Both are named in the ignore list with the reason and the
condition for removing them.

The audit runs as its own job on Linux, since it only reads
Cargo.lock. Dependabot is pointed at cargo and the actions, monthly,
with the cargo updates grouped into one pull request.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Every run carries the annotation "Node.js 20 is deprecated. The
following actions target Node.js 20 but are being forced to run on
Node.js 24: actions/cache@v4, actions/checkout@v4". Both have majors
that target Node 24, so checkout moves to v7 and cache to v6, in CI and
in the release workflow. dtolnay/rust-toolchain is a composite action
with no Node runtime and is left as it is.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tkc tkc changed the title ci: watch the dependencies for advisories ci: keep the advisories watched and the actions current Oct 28, 2026
@tkc
tkc merged commit 31fed2d into main Oct 28, 2026
2 checks passed
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