Skip to content

Take the semantic-release 25.0.9 and Go 1.26.9 security fixes on the shared release and validation paths #625

Description

@devantler

🤖 Generated by the Agentic Engineer (interactive Claude Code session)

Evidence

An upstream release review on 2026-10-17 found two tool versions with published security fixes that no update automation will deliver here. Both are hard-coded in files Dependabot does not read as dependencies.

  • semantic-release is pinned as npx semantic-release@25.0.3 in create-release.yaml (two places) and in ci.yaml's self-test. The latest release is 25.0.9. According to its release notes, 25.0.6 through 25.0.9 mask encoded secrets and key, auth and webhook variables in output, fix an argument injection through repositoryUrl, block template syntax in branch and tag expansion, and stop printing the authenticated repository URL in a permission error. create-release.yaml cuts releases for every consumer repository with an App token in its environment.
  • Go 1.26.9 (2026-10-08) carries security fixes in the go command, crypto/tls, html/template, net/http, net/textproto and os. Still behind are actions/create-issues-from-todos/action.yaml (go-version: 1.26.8) and the go directives of the shipped validate-naming (1.26.6), validate-retired-repo-links and validate-shell-pipelines actions and the delete-workflow-runs driver (1.26.8). Those modules install exactly that patch through go-version-file, inside consumer CI.

Class of failure removed

A release run, or a shipped validation action in consumer CI, executes a toolchain with a published, fixed weakness. The everyday path for consumers is unchanged: same inputs, same outputs, no new setting.

Direction

One fix: change, so consumers receive it through the normal release:

  • move all three semantic-release pins together to 25.0.9;
  • move the hard-coded Go version and each module's go directive to 1.26.9.

Acceptance criteria

  • No file pins semantic-release below 25.0.9, and the create-release dry-run self-tests pass at the new version.
  • Every fixed compiler selector on the shipped and catalogue-validation Go 1.26 paths selects at least 1.26.9; the scanner installer and 1.27 test matrix select 1.27.2, and the affected native action jobs pass. Compatibility-only language declarations and the retained 1.25 compatibility matrix do not establish patched compiler adoption.
  • Released as a patch, so Dependabot carries it to consumers.
  • The structural cause, pins no automation tracks, stays with Make every version the catalogue runs both immutable and tracked by update automation #627, not this one.

Priority rationale: security fixes on the organization-wide release path and in actions that run in every Go consumer's CI. The change is small. Effort: low; CI runs only the affected jobs. Prerequisites: none.

Activity

  1. moved this to 📥 Backlog in 🌊 Project Boardon Oct 17, 2026
  2. self-assigned this
    on Oct 17, 2026
  3. updated Effort Low and Priority High on Oct 17, 2026
  4. devantler commented on Oct 17, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Refined for implementation: High priority, Low effort, Risk reduction. This patch adopts published security fixes on the shared release and validation paths without changing their inputs, permissions or defaults. No open PR, competing work branch or live claim existed at selection; the cross-lane claim is now held by this run. WIP ceilings are waived by the maintainer for this round.

    Plan: move the production release command and its native fixtures together to semantic-release 25.0.9; identify every shipped Go toolchain selected from a fixed version or module; validate those paths with Go 1.26.9 and retain intentional fixture language requirements where they do not select a vulnerable toolchain. Required hosted checks, an exact-head review, ordinary protected merge and patch release/readback remain delivery gates. Automated pin tracking remains separate in #627.

  5. moved this from 📥 Backlog to 🫴 Ready in 🌊 Project Boardon Oct 17, 2026
  6. moved this from 🫴 Ready to 🏃🏻‍♂️ In Progress in 🌊 Project Boardon Oct 17, 2026
  7. added a commit that references this issue on Oct 17, 2026
  8. moved this from 🏃🏻‍♂️ In Progress to 👀 In Review in 🌊 Project Boardon Oct 17, 2026
  9. moved this from 👀 In Review to ✅ Done in 🌊 Project Boardon Oct 17, 2026
  10. devantler commented on Oct 17, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer

    Delivered in #631 at squash merge 22ae86ea8e9062e1973b6a071ed01dd16da8bc69, whose tree exactly matches the reviewed and tested candidate. Native CI run 39071369682 passed, including the patched Go matrix, real TODO runtime, release decisions, offline callers and rejection controls. CodeRabbit completed its current-head review without actionable findings.

    Post-merge verification extracted that exact merged source and passed all patched-selector checks, real release decision fixtures and race-enabled naming/cleanup tests. The ordinary release workflow 39073238125 then ran semantic-release 25.0.9 successfully and published v7.12.4. Its tag resolves directly to the merge commit above; the release is published, neither draft nor prerelease.

    This closes the producer-side acceptance for #625. Consumer adoption and automated immutable tool-pin maintenance are separate work; #627 remains open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Fields

Priority

High

Effort

Low

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions