-
Notifications
You must be signed in to change notification settings - Fork 5
Releasing
David Foster edited this page Jun 22, 2024
·
4 revisions
To release a new version of Crystal:
- Update the version number in
src/crystal/__init__.py
(and other places).-
test_version.py
will verify that all copies of the version number are updated.
-
- Ensure all the automated tests pass.
- Review/revise the release notes.
- Rebuild the Mac and Windows binary on the earliest supported Mac/Windows versions, as documented in the README.
- Smoke test: Install/test the built binaries on a fresh Mac/Windows VM, attempting to download/serve a simple web page like https://xkcd.com/ .
- Update the README to point to where the latest binaries will be.
- Tag the Git commit as
v#.#.#
for the version:CRYSTAL_VERSION=$(python3 -c "import crystal; print(crystal.__version__)")
git tag v$CRYSTAL_VERSION
git push origin --tags
- Draft/publish a new Release on GitHub, with the same description as in the release notes, and upload the related binaries.
- Upload to PyPI:
PYPI_PASSWORD=...
poetry build
poetry publish --username __token__ --password $PYPI_API_TOKEN
- Announce the release via blog post, Twitter, etc if desired.