fix(release): repair shim publishing and distribute synced package READMEs#368
Merged
Conversation
…ADMEs The first run of the multi-ecosystem Publish Shims workflow (v0.40.0) failed for three ecosystems. Fix each root cause and, while here, give every shim package a README that stays in sync with the canonical root README. CI publish fixes: - pypi: add shims/pypi/README.md so `python -m build` no longer fails on the `readme = "README.md"` reference in pyproject.toml - rubygem: run release-gem in shims/rubygem (working-directory + bundler-cache) and add a Rakefile providing the `release` task; previously bundler errored with "Could not locate Gemfile" and there was no rake release task - maven: switch central-publishing waitUntil from `published` to `validated` (with autoPublish) so the build returns after validation instead of hanging past the 15-minute job timeout waiting on Sonatype to finish publishing Package READMEs: - copy the root README.md into every shim package (go, pypi, nuget, rubygem, maven); npm already publishes the root README directly - wire packaging that consumes a README: NuGet <PackageReadmeFile> + pack, RubyGem gemspec spec.files Keep them in sync via the release pipeline: - .simple-release.js bump() now propagates root README.md to every shim copy during the release commit, mirroring the existing version-sync blocks - add ARCH-013/shim-readme-sync rule as the CI safety net for drift between releases, and update ARCH-013 to document README synchronization Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
Deploying archgate-cli with
|
| Latest commit: |
7034286
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://764c6784.archgate-cli.pages.dev |
| Branch Preview URL: | https://claude-intelligent-leavitt-c.archgate-cli.pages.dev |
Contributor
Code Coverage
Full HTML report available in workflow artifacts. Per-directory breakdown
|
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The first run of the multi-ecosystem Publish Shims workflow at v0.40.0 (run 26601268709) failed for three ecosystems. This PR fixes each root cause and, while in the area, gives every shim package a README that is kept identical to the canonical root
README.md.CI publish fixes
python -m buildfailed:OSError: Readme file does not exist: README.md.pyproject.tomldeclaresreadme = "README.md"but no file existed. Addedshims/pypi/README.md.bundle exec rake releaseran from the repo root (Could not locate Gemfile) and there was noreleasetask. Now runs inshims/rubygem(working-directory+bundler-cache: trueonsetup-ruby,working-directoryonrelease-gem) and aRakefileprovides the task viabundler/gem_tasks.<waitUntil>published</waitUntil>waiting for Sonatype to finish publishing. Switched to<waitUntil>validated</waitUntil>(withautoPublish=true) so the build returns after validation and publishing completes async.Package READMEs + sync
README.mdinto every shim package (go,pypi,nuget,rubygem,maven). npm needs no copy — it publishes the root README directly.<PackageReadmeFile>+ pack item; RubyGem gemspecspec.files..simple-release.jsbump()now propagates rootREADME.mdto every shim copy during the release commit, mirroring the existing version-sync blocks.ARCH-013/shim-readme-syncrule failsarchgate checkif any shim README drifts from root (line-ending/trailing-whitespace normalized) — catches drift between releases. ARCH-013 updated to document README synchronization.Reviewer notes
shim-readme-syncrule blocks mid-cycle drift in PRs (with acpfix hint).d7671fb1) and was set to auto-publish, so 0.40.0 may already be on Maven Central. The publish jobs are not idempotent across a full re-run (publish-go-tag/publish-nuget/maven will hit "already exists") — recommend letting these fixes apply to the next version bump rather than re-running v0.40.0.Test plan
bun run validatepasses — lint, typecheck, format, 1212 tests, ADR check (30/30), knip, buildshim-readme-syncrule verified to fail on drift and pass when synced.simple-release.jsimports without error after the change