Add release tooling: release-crispritz skill, RELEASING guide, CHANGELOG, prepare_release.py - #22
Open
lucapinello wants to merge 2 commits into
Open
Add release tooling: release-crispritz skill, RELEASING guide, CHANGELOG, prepare_release.py#22lucapinello wants to merge 2 commits into
lucapinello wants to merge 2 commits into
Conversation
…LOG, prepare_release.py Mirror CRISPRme's release tooling for CRISPRitz so a maintainer can cut a CRISPRitz release to Bioconda and then repin CRISPRme to it. - .claude/skills/release-crispritz/SKILL.md: end-to-end release skill (version-consistency pre-flight across crispritz.py / conda/meta.yaml / Dockerfile / git tag; CHANGELOG; GitHub release/tag vX.Y.Z; COMPILED Bioconda crispritz recipe update with sha256 + build.number:0 requiring green linux-64 + linux-aarch64 build CI; cross-repo CRISPRme repin of both pins + CRISPRme release; install verification on both arches). - docs/RELEASING.md: human-readable guide with a crispritz -> Bioconda -> CRISPRme-repin diagram and the compiled-package caveat (arm64 must build). - CHANGELOG.md: Keep a Changelog, seeded [2.7.0] + prior tags, with an [Unreleased] entry for the pending #105 fix + CI + stale-.pyc cleanup. - scripts/prepare_release.py: idempotent version bump across the version-pinned files, sha256 of the GitHub release tarball, meta.yaml diff + changelog scaffold + cross-repo reminder. Verified: the v2.7.0 tarball sha256 computed by prepare_release.py matches the live Bioconda crispritz recipe (89edad0570e3766c41184139197320aae1263f8d91fbc8c30f12105329d67377). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… meta.yaml 1.1.1) The 'crispritz.py --version' string had drifted (2.6.6 even on the v2.7.0 tag) and the in-repo conda/meta.yaml stub was a stale 1.1.1. Align both to the released 2.7.0 so the repo reflects reality; prepare_release.py bumps from here on release. Co-Authored-By: Claude Opus 4.8 (1M context) <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.
What this adds
Release tooling for CRISPRitz that mirrors what CRISPRme already has, so a maintainer can cut a CRISPRitz release to Bioconda and then repin CRISPRme to it.
.claude/skills/release-crispritz/SKILL.md— end-to-end release skill: (a) version-consistency pre-flight acrosscrispritz.py/conda/meta.yaml/Dockerfile/ git tag; (b) updateCHANGELOG.md; (c) create the GitHub release/tagvX.Y.Z; (d) update the Bioconda crispritz recipe (version + sha256 +build.number: 0) — CRISPRitz is compiled, so autobump opens the PR but the build CI must pass on linux-64 + linux-aarch64 and a Bioconda maintainer merges; (e) the cross-repo repin: bumpcrispritz_versionin CRISPRme'sDockerfileAND thecrispritz X.Y.Zpin in CRISPRme's Bioconda recipe, then cut a CRISPRme release; (f) verify install on both arches.docs/RELEASING.md— human-readable guide with acrispritz → Bioconda → CRISPRme-repindiagram and the compiled-package caveat (arm64 must build).CHANGELOG.md— Keep a Changelog, seeded[2.7.0]+ prior tags, plus an[Unreleased]entry for the pending #105 fix + CI + the stale-.pyccleanup.scripts/prepare_release.py— idempotent version bump across the version-pinned files (crispritz.py,conda/meta.yaml;Dockerfileskipped when it holds no pin), computes the sha256 of the GitHub release tarball, and prints the meta.yaml diff + changelog scaffold + cross-repo reminder. Mirrors CRISPRme'sscripts/prepare_release.py.The chain this documents
sha256 test result (proves the flow)
Downloaded the live
v2.7.0tarball (https://github.com/pinellolab/CRISPRitz/archive/v2.7.0.tar.gz— the exact URL form the Bioconda recipe uses), computed its sha256 viaprepare_release.py, and compared it to the live crispritz Bioconda recipe:89edad0570e3766c41184139197320aae1263f8d91fbc8c30f12105329d6737789edad0570e3766c41184139197320aae1263f8d91fbc8c30f12105329d67377Also verified
prepare_release.pyfor a fake next version edits only the intended version files and is idempotent on re-run, then reverted.Notes
crispritz.py(VERSION = "...") and the in-repoconda/meta.yamlstub. The authoritative recipe is onbioconda/bioconda-recipes(recipes/crispritz/meta.yaml); the in-repoconda/meta.yamlhas drifted (stale version + oldInfOmicsURL) and is treated as advisory. The pre-flight step exists to catch exactly this drift.cc @ManuelTgn
🤖 Generated with Claude Code