Skip to content

ci: add scheduled lockfile maintenance for transitive security updates - #72

Merged
altaywtf merged 2 commits into
mainfrom
ci/lockfile-maintenance
Aug 20, 2026
Merged

ci: add scheduled lockfile maintenance for transitive security updates#72
altaywtf merged 2 commits into
mainfrom
ci/lockfile-maintenance

Conversation

@altaywtf

Copy link
Copy Markdown
Member

Summary

Adds a scheduled Lockfile maintenance workflow (monthly cron + manual dispatch) that runs corepack pnpm update --lockfile-only -r and opens a PR with the release-bot App token when the lockfile moves.

Dependabot's transitive security-update command (corepack pnpm update <pkg>@<version> --lockfile-only --no-save -r) is a silent no-op under pnpm 11.x because targeted versions of transitive-only dependencies are ignored (pnpm/pnpm#12744), so transitive advisories can never land here. The untargeted refresh resolves the same fixes with workspace overrides untouched.

Verification

  • Workflow-only change; verify runs on this PR.
  • Mechanism reproduced 2026-08-20 on putio-sockjs manifests: targeted postcss@8.5.26 update is a no-op under pnpm 11.2.2 and 11.22.0 (with and without overrides); untargeted corepack pnpm update --lockfile-only -r resolves postcss 8.5.16 -> 8.5.26 under pnpm 11.2.2 with catalog: overrides intact, and the result passes pnpm install --lockfile-only.

Notes

  • App-token PRs trigger pull_request workflows, so verify gates the automated PR (default GITHUB_TOKEN PRs would not trigger it).
  • Retire path: bump packageManager once a stable pnpm ships the upstream fix (pnpm/pnpm#12558 — present in 12.0.0-rc.7, absent in 11.22.0); the workflow can stay as routine hygiene.
  • Refs putdotio/putio-frontend#29

pnpm 11.x ignores targeted updates of transitive-only dependencies
(pnpm/pnpm#12744), so Dependabot's security-update command is a silent
no-op. A monthly and on-demand untargeted lockfile refresh lands the
same fixes with workspace overrides untouched.

Refs putdotio/putio-frontend#29

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 20, 2026 02:32

Copilot AI 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.

Pull request overview

Adds a GitHub Actions workflow to regularly refresh pnpm-lock.yaml so transitive security advisory fixes can land even when pnpm 11.x ignores targeted transitive-only updates, and to raise/maintain an automated PR using the release-bot GitHub App token.

Changes:

  • Introduces a scheduled (monthly) + manually dispatchable “Lockfile maintenance” workflow.
  • Runs corepack pnpm update --lockfile-only -r to re-resolve transitive dependencies without changing declared ranges/overrides.
  • Creates/updates a PR on a dedicated branch using the release-bot identity and token.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/lockfile-maintenance.yml
Comment thread .github/workflows/lockfile-maintenance.yml Outdated
- run only on refs/heads/main: a workflow_dispatch from another ref
  would force-push the maintenance branch from a stale base
- environment: release — PUTIO_RELEASE_BOT_CLIENT_ID and the App
  private key are environment-scoped; the first dispatch failed to
  mint a token without it (taizn actions run 32328993072)
- job-level contents: read for checkout, matching the house baseline
- align the bot identity lookup with the fleet-majority form
  (%5Bbot%5D path, user_id output)

Refs putdotio/putio-frontend#29

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@altaywtf
altaywtf merged commit 4c30d06 into main Aug 20, 2026
6 checks passed
@altaywtf
altaywtf deleted the ci/lockfile-maintenance branch August 20, 2026 03:51
@putio-releaser

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.6.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants