fix: create signed release-plz PR commits #111

Merged
jwilger merged 1 commit from fix/signed-release-pr-wrapper into main 2026-06-11 20:11:41 -07:00
Owner

Summary

  • Add a Forgejo release PR wrapper that runs release-plz update, then creates and pushes a signed chore: release commit.
  • Create the release PR through the Forgejo API after verifying the commit object contains a signature.
  • Keep release-plz release for publishing after the release PR merges.

Rationale
release-plz release-pr still pushed an unverified commit in run #266. The update command produces the release file changes without owning the commit/push path, so the workflow can make a normal signed Git commit that satisfies branch protection.

Verification

  • actionlint .forgejo/workflows/release-plz.yml
  • sh -n .forgejo/scripts/create-release-plz-release-pr.sh .forgejo/scripts/configure-release-plz-git-signing.sh
  • simulated wrapper run with stubbed release-plz and Forgejo API against a local bare git remote; verified created PR output, signed commit header, and pushed release branch
  • just copyright-headers
  • git diff --check
Summary - Add a Forgejo release PR wrapper that runs release-plz update, then creates and pushes a signed chore: release commit. - Create the release PR through the Forgejo API after verifying the commit object contains a signature. - Keep release-plz release for publishing after the release PR merges. Rationale release-plz release-pr still pushed an unverified commit in run #266. The update command produces the release file changes without owning the commit/push path, so the workflow can make a normal signed Git commit that satisfies branch protection. Verification - actionlint .forgejo/workflows/release-plz.yml - sh -n .forgejo/scripts/create-release-plz-release-pr.sh .forgejo/scripts/configure-release-plz-git-signing.sh - simulated wrapper run with stubbed release-plz and Forgejo API against a local bare git remote; verified created PR output, signed commit header, and pushed release branch - just copyright-headers - git diff --check
fix: create signed release-plz PR commits
All checks were successful
CI / Nix flake check (pull_request) Successful in 2m20s
CI / Request auto_review semantic review (pull_request) Successful in 2s
auto_review auto_review: no findings
CI / Rust CI (pull_request) Successful in 10m15s
945d86b568
auto-review left a comment

This PR introduces a script to create signed release PR commits using the Forgejo API, ensuring compliance with branch protection rules. The changes appear safe to merge, but ensure that all dependencies, such as jq, are available in the execution environment.

Walkthrough

  • create-release-plz-release-pr.sh:
    • Introduces a new script to create signed release PR commits.
    • Checks for existing release PRs and updates them if found, otherwise creates a new one.
    • Ensures commits are signed before pushing.
    • Uses jq to parse JSON responses from the Forgejo API.
  • release-plz.yml:
    • Updates the workflow to use the new script for creating release PRs.
    • Ensures git user configuration is set for the release process.

LLM usage and cost

This PR introduces a script to create signed release PR commits using the Forgejo API, ensuring compliance with branch protection rules. The changes appear safe to merge, but ensure that all dependencies, such as `jq`, are available in the execution environment. ## Walkthrough - **create-release-plz-release-pr.sh**: - Introduces a new script to create signed release PR commits. - Checks for existing release PRs and updates them if found, otherwise creates a new one. - Ensures commits are signed before pushing. - Uses `jq` to parse JSON responses from the Forgejo API. - **release-plz.yml**: - Updates the workflow to use the new script for creating release PRs. - Ensures git user configuration is set for the release process. ## LLM usage and cost - Reasoning (gpt-4o) in=1981 out=363 cost=$0.015350 - Cheap (gpt-4o-mini) in=1864 out=89 cost=$0.000333 Estimated total USD: $0.015683 via https://api.openai.com and https://api.openai.com
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Slipstream/emc!111
No description provided.