From 9d089f319a14f69ab07541c45a1d46761a49bbc0 Mon Sep 17 00:00:00 2001 From: David Meister Date: Wed, 19 Aug 2026 13:42:54 +0000 Subject: [PATCH] README: describe the real Publish process The Publish section still described the pre-June-2026 tag-triggered process and linked .github/workflows/publish-soldeer.yaml, which does not exist. Rewritten against the actual files: every push to main runs .github/workflows/package-release.yaml, which delegates to rainix's rainix-autopublish reusable; the version is foundry.toml's [external.package].version (the next unpublished version), gated on packaged content differing from the newest published zip, with the version line rewritten after publishing. Co-Authored-By: Claude Fable 5 --- README.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0e7543e..be6c03c 100644 --- a/README.md +++ b/README.md @@ -52,10 +52,19 @@ Use the nix-pinned `forge` for all development. ## Publish -Tag `v` on `main`. The -[`Publish to Soldeer`](.github/workflows/publish-soldeer.yaml) wrapper delegates -to rainix's reusable workflow, which derives the package name from the repo name -(`rain.datacontract` → `rain-datacontract`). +Publishing is automated: every push to `main` runs the +[`Package Release`](.github/workflows/package-release.yaml) workflow, which +delegates to rainix's `rainix-autopublish` reusable workflow with the package +name `rain-datacontract`. + +The version is `foundry.toml`'s `[external.package].version` — always the NEXT, +not-yet-published version. A content gate compares what `forge soldeer push` +would upload against the newest published zip: when the content differs, the +workflow publishes that version to Soldeer, tags `sol-v` with a GitHub +release, and rewrites `[external.package].version` to the next unpublished +version in a `Package Release` commit (which the workflow skips when it triggers +itself). A push whose packaged content is unchanged publishes nothing — there is +no manual tagging or version bump. ## License