Repository navigation
Version plugin and package independently, released by CI - #6
Merged
Merged
Conversation
Adopt the process tested in atlas-skills-sandbox: plugins tag as <plugin>--v<version>, packages as pkg-<dir>--v<version>, and the release workflow cuts both from main once test is green. scripts/versions.py enforces bumps on PRs, plans releases, and reports plugin -> package pins (docs/pins.md); a nightly job re-installs every pin a supported release uses, since uvx resolves dependencies fresh and ignores uv.lock. Adapted for cap-client installing `cap` rather than a CLI named after its directory: `versions.py cli <dir>` reads the console script from pyproject.toml. The stale, unused uv.lock goes, and is exempt from bumps. Skills now pin pkg-cap-client--v0.4.0 (an alias of v0.4.0); cap-tools 0.4.1. README: corrects the claim that a committed enabledPlugins needs no install step, and documents pinning a release by ref. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cap-tools--v0.2.0 still pins packages/h5ad-obs, which has since moved to atlas-skills; reading the console script at HEAD would fail the nightly check for a release still in the supported window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Brings over the release process tested in atlas-skills-sandbox.
What changes
cap-tools--v<version>and the package aspkg-cap-client--v<version>. Skills now pinpkg-cap-client--v0.4.0, andcap-toolsmoves to 0.4.1.scripts/versions.py, from the sandbox, tested intests/test_versions.py:check-bumps: fails a PR that changes the plugin or package without bumping its versionuntagged: lists what the release job should tagpins: lists every package pin in usereport: generatesdocs/pins.mdcli <dir> [--at REF](new here):cap-clientinstallscap, not a command named after its directory, so the workflows read the command name frompyproject.toml, at the pinned tag.test.ymladds: plugin validation, a bump check on PRs, a check thatdocs/pins.mdis current, install-from-git on PRs as well as main, and a run of every skill pin exactly as written.release.yml(new): oncetestis green on main, tags untagged packages, then plugins (viaclaude plugin tag), and creates a GitHub Release for each. It setspermissions: contents: writeitself, so the org's read-only default doesn't block it. The sandbox works the same way.nightly.yml(new): re-installs every pin used by main and the last 3 plugin releases, and runs the package's tests at each pinned tag.uvx --from git+…resolves dependencies fresh and ignoresuv.lock, so a tag can stop working without any new commit.packages/cap-client/uv.lock, and madeuv.lockexempt from the bump checkv0.3.0enabledPluginsneeds no install step; each person still runsclaude plugin installonceref, plus the one-registration-per-machine caveatAlready done
8 backfill tags are pushed:
cap-tools--v0.1.0…v0.4.0andpkg-cap-client--v0.1.0…v0.4.0. Each is an alias at the same commit as the existingvX.Y.Ztag, which stay in place, and old pins still resolve.uvx --no-cache --from …@pkg-cap-client--v0.4.0 … cap --versionprintscap-client 0.4.0.After merge
releaseshould create onlycap-tools--v0.4.1, with no package tag. Then runnightlyonce via workflow_dispatch to confirm it is green.Local checks
./dev.shpasses: 145 package and grader tests, 28 tooling tests,docs/pins.mdcurrent, plugin validation.check-bumps --base origin/mainpasses and ruff is clean.🤖 Generated with Claude Code