원클릭으로
release-polygraph
Release workflow for rs-polygraph. Use when: cutting a release, bumping the version, preparing a release commit and tag.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Release workflow for rs-polygraph. Use when: cutting a release, bumping the version, preparing a release commit and tag.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | release-polygraph |
| description | Release workflow for rs-polygraph. Use when: cutting a release, bumping the version, preparing a release commit and tag. |
| argument-hint | new version number, e.g. 0.9.0 |
Three crates live in this workspace, each with its own independent version:
| Crate | Cargo.toml | Notes |
|---|---|---|
polygraph | crates/polygraph/Cargo.toml | Main transpiler — the primary release target |
opencypher-parser | crates/opencypher-parser/Cargo.toml | Parser sub-crate — bump when its public API changes |
polygraph-difftest | polygraph-difftest/Cargo.toml | publish = false — never released, version is irrelevant |
A normal release only requires bumping crates/polygraph/Cargo.toml. Bump opencypher-parser separately only when its own API or grammar changes.
Confirm the new version aligns with the next planned milestone before deciding on a patch / minor / major bump.
cargo fmt --check
cargo clippy -- -D warnings
cargo test --lib
cargo test --test tck # slow, mandatory
cargo test -p polygraph-difftest
cargo doc --no-deps
All must pass with zero warnings. Do not proceed if anything fails.
Cargo.toml and CHANGELOG.mdIn crates/polygraph/Cargo.toml (and crates/opencypher-parser/Cargo.toml if its API changed):
[package]
version = "<NEW>"
Add a section at the top of CHANGELOG.md:
## [<NEW>] — <YYYY-MM-DD> — <Title>
<One-paragraph summary.>
### Added / Fixed / Changed / Removed
- ...
Verify the version is correct:
grep "^version" crates/polygraph/Cargo.toml crates/opencypher-parser/Cargo.toml
git add crates/polygraph/Cargo.toml crates/opencypher-parser/Cargo.toml CHANGELOG.md
git commit -m "Release v<NEW>"
git tag v<NEW>
git push && git push --tags
Go to github.com/BaardBouvet/rs-polygraph/releases/new:
v<NEW>v<NEW> — <Title from CHANGELOG>The .github/workflows/release.yml workflow triggers automatically when the tag is pushed. It will:
crates/polygraph/Cargo.toml versionopencypher-parser and polygraph to crates.ioMonitor progress at: https://github.com/BaardBouvet/rs-polygraph/actions/workflows/release.yml
Once the workflow completes (usually 10–15 minutes), both crates will be live on crates.io:
https://crates.io/crates/opencypher-parserhttps://crates.io/crates/polygraphIf something goes wrong after pushing the tag:
git tag -d v<NEW>
git push --delete origin v<NEW>
Then delete the GitHub release if it was created. Note: If the CI workflow completed and published to crates.io, you cannot unpublish. You'll need to yank the version on crates.io manually and prepare a patch release instead.