Skip to content

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

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

ci: add scheduled lockfile maintenance for transitive security updates#180
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:31

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 new GitHub Actions workflow to periodically (and manually) refresh pnpm-lock.yaml to pick up transitive security fixes that cannot be applied via targeted pnpm update under pnpm 11.x, and to open/update a PR via the release-bot GitHub App token.

Changes:

  • Introduces a scheduled (monthly) + manually dispatchable “Lockfile maintenance” workflow.
  • Runs corepack pnpm update --lockfile-only -r and force-pushes to a fixed maintenance branch.
  • Creates a PR with an app token so pull_request CI workflows are triggered for the automated update PR.

💡 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
- 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 b3c31b1 into main Aug 20, 2026
8 checks passed
@altaywtf
altaywtf deleted the ci/lockfile-maintenance branch August 20, 2026 03:50
@putio-releaser

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 11.2.1 🎉

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