Run make -C docs publish_docs CRYSTAL_VERSION=${VERSION} to publish docs to api/${VERSION}
Run make -C docs dist-redirect_latest CRYSTAL_VERSION=${VERSION} to apply redirect from api/latest to api/${VERSION}
Binary releases
[x] Attach build artifacts from circleci and GitHub Actions (Windows) to GitHub release (this is automated via scripts/make-crystal-release.sh, except for the Windows artifact)
Release preparation
crystal:scripts/github-changelog.cr
)CHANGELOG.md
andVERSION
.Release process
Source release
Steps 6.-7. are automated via
scripts/make-crystal-release.sh
crystal_branch
. (https://github.com/crystal-lang/test-ecosystem/actions/runs/2203449778)<M.m.p>
pattern as {version}git tag -s -a -m $VERSION $VERSION
Publish documentation for the release
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
env variables definedmake -C docs publish_docs CRYSTAL_VERSION=${VERSION}
to publish docs toapi/${VERSION}
make -C docs dist-redirect_latest CRYSTAL_VERSION=${VERSION}
to apply redirect fromapi/latest
toapi/${VERSION}
Binary releases
scripts/make-crystal-release.sh
, except for the Windows artifact)crystal-*-darwin-*.tar.gz
crystal-*-linux-*.tar.gz
crystal-*.pkg
crystal-*-docs.tar.gz
crystal.zip
(GHA) ->crystal-$VERSION-windows-x86_64-msvc-unsupported.zip
./packages
export OBS_USER=
export OBS_PASSWORD=
crystal
package:./obs-release.sh devel:languages:crystal crystal $VERSION
crystallang/osc
to run the CLI client for OBS.osc build xUbuntu_20.04 x86_64
osc build Fedora_Rawhide x86_64
crystal${VERSION%.*}
package:./obs-release.sh devel:languages:crystal crystal${VERSION%.*} $VERSION
open https://build.opensuse.org/project/show/home:$OBS_USER:branches:devel:langauges:crystal/crystal
OBS_PROJECT=devel:languages:crystal bats test
latest
docker imageslatest
tags:./docker/apply-latest-tags.sh ${VERSION}
$ snapcraft login
snapcraft status crystal
snapcraft release crystal <revision-number> beta
snapcraft release crystal <revision-number> stable
brew install --build-from-source <source of formula>
Release announcements
Post-release
master
branch to use released version (https://github.com/crystal-lang/crystal/pull/12029).circleci/config.yml
bin/ci
prepare_build
on_osx download package and folder.github/workflows/*.yml
to point to docker imageshell.nix
latestCrystalBinary
usingnix-prefetch-url --unpack <url>