Skip to content

Automate Package Publishing for All Release Artifacts #1766

Description

@DanGould

Goal: Every publish is tag-triggered + keyless OIDC. no more manual cargo publish / dotnet nuget push. There's still a checklist and review wrt changelog and review cutting but this removes one step and lets us start to publish all of our packages around the same time, especially now that we've got a number of foreign language targets

Scope & state:

  • C# / NuGet — workflow + nuget.org policy + nuget-release env done. Remaining: merge, first tagged publish.
  • crates.io — payjoin + payjoin-cli, on existing payjoin-v* / payjoin-cli-v* tags (rust-lang/crates-io-auth-action → cargo publish). Not started.
  • ffi python / js / dart — port the C# pattern; also unify all bindings onto the payjoin-ffi crate version (js/dart are on 0.1.1, C# on -preview.1). Not started.

Per-registry one-time setup (package owner does once, in the registry UI): create a trusted-publisher policy with Repo Owner = payjoin, Repo = rust-payjoin, Workflow File = .yml, Environment = -release. The matching GitHub -release environment gates publication with a required-reviewer approval.

Work split:

  • PR for workflow YAML that does publication, I'm guessing YAML for each package
  • Registry policy set for the package owner's account action (set up OIDC, make sure each package is bus factored correctly

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions