refactor(ci): migrate to shared workflows - #521
Conversation
decofe
left a comment
There was a problem hiding this comment.
Findings
Blocking
-
The changelog generator still uses
pull_request_target, checks out the PR head, and invokes Claude withANTHROPIC_API_KEY. This is a secret-bearing path over PR-controlled content; please migrate it to thepull_request+ label pattern used by wallet-cli, with manual changelog entry handling for forks. -
The new shared workflow pins have no version comments, so enabling
pinactmakes Workflow Validation fail atlint.yml:21andworkflow-validation.yml:25. Add verifiable version comments and update the staledtolnay/rust-toolchainpins reported by the scan. -
workflow-validation.ymlexplicitly requirespull_request_target, which conflicts with the security direction of this migration. Remove that invariant after replacing the generator.
Supply-chain review
- No direct dependency changes were found. The lockfile moves
ruint1.18.0 to 1.20.0 and removesRUSTSEC-2026-0220; the addedark-*0.6.0 crates are mature, non-yanked, and had no OSV findings. zizmorfound the dangerous trigger above plus the existing template-injection warnings inbuild.yml;pinactalso reports malformed/missing version comments across existing action pins.cargo-denycould not complete in the review sandbox because both PR andmainrequire an unauthenticated fetch of the existing pinnedtempoxyz/mpp-rsGit dependency; this was not introduced by this PR.
grandizzy
left a comment
There was a problem hiding this comment.
please check Gh action scan CI failure, thanks!
|
lgtm |
Summary
rust-lintworkflowruintto 1.20.0Details
The shared Rust workflow now runs nightly clippy and formatting alongside typos and cargo-deny. The repository-owned Tempo lint job and aggregate
lint successcheck remain in place.Workflow validation now uses the shared scanner with actionlint and pinact enabled. Wallet-specific fork-safety, changelog, PR-audit, and
pull_request_targetpolicy checks remain local.Closes OSS-543.