-
Ensure that the project version number in
packages/python/pyproject.tomlhas been updated. Historically we have sometimes done this before the release. If not, change it now. Our versioning scheme is:Release type Version format Notes Stable YYYY.0.N Nstarts at0and increments with each release during the yearRelease candidate YYYY.0.NrcX YYYY.0.Nmatches the upcoming stable release andXstarts at1and increments with each RCBeta YYYY.0.NbX YYYY.0.Nmatches the upcoming stable release andXstarts at1and increments with each beta releaseAlpha YYYY.0.NaX YYYY.0.Nmatches the upcoming stable release andXstarts at1and increments with each alpha release -
Run the
lsprotocol-Releasepipeline against themainbranch and check the🚀 Publish Packagecheckbox. -
Wait for the pipeline to reach the
WaitForValidationstage. -
Run the
pyglstests against the new release:git clone https://github.com/openlawlibrary/pyglscd pyglspoetry install --all-extras-- Save the path to the generated virtualenvpoetry run poe test-- Baseline. Note which tests fail, if any. Don't run theirtest-pyodidetests.- Download the
lsprotocol-*.tar.gzfile from the Github Release created by the pipeline. - Remove the
lsprotocoldirectory in the Poetry virtualenv and create a new one using thelsprotocoldirectory within thetar.gz. - Rerun the tests -- Compare against baseline.
-
Once you're satisfied with the release, publish it by going to the
lsprotocol-Releasepipeline run that you started earlier and pressing the blueReviewbutton and then pressing the blueResumebutton to initiate publishing. -
Publish the GitHub release (it was created as a draft).
- Ensure that the project version number in
packages/rust/lsprotocol/cargo.tomlhas been updated. Historically we have sometimes done this before the release. If not, change it now. Our versioning scheme is shown below. Note that so far we have only shipped alpha/beta releases because the Rust version has only been tested in toy servers.:Release type Version format Notes Stable Major.Minor.0 Beta Major.Minor.0-beta.X Major.Minor.0matches the upcoming stable release andXstarts at1and increments with each beta releaseAlpha Major.Minor.0-alpha.X Major.Minor.0matches the upcoming stable release andXstarts at1and increments with each alpha release cd packages/rust/lsprotocol- Optionally use
cargo publish --dry-runto do all of the building and testing work without actually publishing to crates.io. cargo logincargo publish