Skip to content

Dart release workflow - #1820

Merged
spacebear21 merged 3 commits into
payjoin:masterfrom
spacebear21:dart-release-workflow
Aug 20, 2026
Merged

Dart release workflow#1820
spacebear21 merged 3 commits into
payjoin:masterfrom
spacebear21:dart-release-workflow

Conversation

@spacebear21

Copy link
Copy Markdown
Collaborator

Builds on top of #1819

Add trusted publishing release workflow for Dart bindings.

Co-authored by Claude Fable 5

Pull Request Checklist

Please confirm the following before requesting review:

@coveralls

coveralls commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 32275318846

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.72 hits per line

💛 - Coveralls

@spacebear21
spacebear21 force-pushed the dart-release-workflow branch 2 times, most recently from 33eb6dc to 2e513dc Compare August 18, 2026 20:13
@spacebear21
spacebear21 marked this pull request as ready for review August 18, 2026 20:21
@spacebear21
spacebear21 requested a review from benalleng August 18, 2026 20:21
@spacebear21
spacebear21 marked this pull request as draft August 18, 2026 20:22
@spacebear21
spacebear21 force-pushed the dart-release-workflow branch 4 times, most recently from 580fa43 to 8afbb4c Compare August 19, 2026 16:17
The script hardcoded --features dart,_test-utils --profile dev, so
every published release shipped bindings declaring test-only APIs
whose symbols are absent from consumer builds, a limitation
CONTRIBUTING.md called out. Adopt the PAYJOIN_FFI_FEATURES /
PAYJOIN_FFI_PROFILE convention the C# generate_bindings.sh already
uses: defaults are unchanged for tests, and a release build sets
PAYJOIN_FFI_FEATURES= (empty) to emit bindings with no test-only
declarations.
Add the tag-gated publishing path to the Dart workflow, following the
NuGet flow in csharp.yml adapted to a source-only registry:pub.dev ships
Dart source plus the native/ wrapper crate andconsumers compile the Rust
through hook/build.dart, so there is no artifact to pack, smoke test, or
attach to a GitHub release.
@spacebear21
spacebear21 force-pushed the dart-release-workflow branch from 8afbb4c to 8a76d46 Compare August 19, 2026 16:20
@spacebear21
spacebear21 marked this pull request as ready for review August 19, 2026 16:24
@spacebear21
spacebear21 requested a review from DanGould as a code owner August 19, 2026 16:24

@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 8a76d46

In the publish-pub job does it need to be tagged by someone / something that has access to this or is this already covered by the "payjoin.org" owner listed on the site?

Does

id-token: write # OIDC: pub.dev automated publishing

persist in our nix-shell?

@spacebear21

Copy link
Copy Markdown
Collaborator Author

In the publish-pub job does it need to be tagged by someone / something that has access to this or is this already covered by the "payjoin.org" owner listed on the site?

pub.dev never checks who created the tag, only a valid OIDC token from Github Actions. On the github side we have the same release environment workflow as we use for crates releases, so it needs a signed tag from one of the three maintainers + a workflow approval from another.

Does id-token: write # OIDC: pub.dev automated publishing persist in our nix-shell?

Yes my understanding is it would only be a problem if we ran nix with --ignore-environment

@spacebear21
spacebear21 merged commit de63059 into payjoin:master Aug 20, 2026
41 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