Skip to content

fix(cd): release via PR on protected main; bump cargo-deny action to v2 - #2

Merged
dynamder merged 1 commit into
mainfrom
fix/cd-release
Aug 19, 2026
Merged

fix(cd): release via PR on protected main; bump cargo-deny action to v2#2
dynamder merged 1 commit into
mainfrom
fix/cd-release

Conversation

@dynamder

Copy link
Copy Markdown
Owner

Problem

The \main-protect\ ruleset requires pushes to \main\ to come through a pull request (only admins may bypass), so the CD workflow's direct \git push origin main --follow-tags\ was declined — but only AFTER cargo-release had committed the version bump and the \�0.3.0\ tag had already been pushed (pointing at a commit not on main; the dangling tag has been cleaned up).

Separately, the Security Audit job has been red since 2026-08-19: \EmbarkStudios/cargo-deny-action@v1\ bundles cargo-deny 0.14.21 (2023), which fails to parse newer rustsec advisory entries (\RUSTSEC-2026-0066: TOML parse error) and makes every audit run fail regardless of the dependency tree.

Changes

  • cd.yml: release flow now pushes the release commit to a
    elease/vX.Y.Z\ branch, opens a PR against \main, and merges it through the protected flow; the (unprotected) tag is pushed afterwards. Job gets \pull-requests: write.
  • audit.yml: \cargo-deny-action@v1\ → @v2\ (bundles a current cargo-deny), and added a \workflow_dispatch\ trigger so the audit can be re-run to verify the fix.

The main-protect ruleset requires pushes to main to come through a pull
request (only admins may bypass), so the CD workflow's direct
'git push origin main --follow-tags' was declined after cargo-release had
already committed the version bump and pushed the v0.3.0 tag. Rework the
flow: push the release commit to a release/vX.Y.Z branch, open a PR, and
merge it through the protected flow; push the (unprotected) tag afterwards.
Also grant the job pull-requests: write.

Security Audit: EmbarkStudios/cargo-deny-action@v1 bundles cargo-deny
0.14.21 (2023), which fails to parse newer rustsec advisory entries
(RUSTSEC-2026-0066: TOML parse error) and makes every audit red. Bump to
@v2 and add a workflow_dispatch trigger so the audit can be re-run and
verified manually.
@dynamder
dynamder merged commit fc0ef07 into main Aug 19, 2026
26 checks passed
@dynamder
dynamder deleted the fix/cd-release branch August 19, 2026 11:24
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