Skip to content

Extract shared release workflows - #1819

Merged
benalleng merged 4 commits into
payjoin:masterfrom
spacebear21:extract-shared-release-workflows
Aug 18, 2026
Merged

Extract shared release workflows#1819
benalleng merged 4 commits into
payjoin:masterfrom
spacebear21:extract-shared-release-workflows

Conversation

@spacebear21

@spacebear21 spacebear21 commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Preparatory PR extracting shared logic between release workflows.

Three follow-up PRs build on top of this:

Co-authored with Claude Fable 5

Pull Request Checklist

Please confirm the following before requesting review:

Every registry publish job must refuse to push an artifact whose
version differs from what the pushed tag calls for. The check was
written inline in the NuGet publish job; the upcoming npm, pub.dev,
and PyPI publish jobs would each duplicate it.

Move the prefix-strip-and-compare into a verify-tag-version composite
action taking the tag prefix and the actual packed version. The NuGet
job keeps its locate step (exactly one .nupkg, version parsed from
the filename) and hands the result to the action. Local actions
resolve from the workspace, so the job gains a checkout step it
previously avoided; its contents: read permission already covers it.
The annotated, trusted-signature, and ancestor-of-master checks in
verify-tag.sh apply to any release tag, not only crate release tags.
Move them into verify-tag-hygiene.sh so tag-triggered publishing
workflows for language bindings can enforce the same authenticity
gate without taking on the crate-specific checks (manifest version,
release invariants, sibling crates.io dependencies), which stay in
verify-tag.sh.

Pure code move; verify-tag.sh behavior is unchanged.
@coveralls

coveralls commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 32180561470

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Coverage remained the same at 86.718%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 16458
Covered Lines: 14272
Line Coverage: 86.72%
Coverage Strength: 343.71 hits per line

💛 - Coveralls

@spacebear21
spacebear21 force-pushed the extract-shared-release-workflows branch from d6e3b20 to c6024f6 Compare August 18, 2026 19:58
Publishing ends the same way for every binding: download the packed
artifact, generate SHA256SUMS, and attach both to the GitHub release
for the pushed tag.

Move the job to release-assets.yml as a workflow_call and point the
C# github-release job at it. The artifact-pattern input downloads and
merges multiple artifacts for workflows that build one per platform.

Two behavior notes: the job now runs on ubuntu-26.04 like the rest
of the repo instead of ubuntu-latest, and pre-release detection
derives from a SemVer hyphen in the tag's version (ignoring + build
metadata) instead of matching only -preview and -rc, which
classifies all existing tags identically.
@spacebear21
spacebear21 force-pushed the extract-shared-release-workflows branch from c6024f6 to ea9d982 Compare August 18, 2026 20:08
@spacebear21
spacebear21 marked this pull request as ready for review August 18, 2026 20:18
@spacebear21
spacebear21 requested a review from benalleng August 18, 2026 20:18

@benalleng benalleng left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK ea9d982

I'm not totally familiar with reusable workflow mechanisms

@benalleng
benalleng merged commit 249d28d into payjoin:master Aug 18, 2026
13 checks passed
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.

3 participants