- Draft release notes using the
Draft new release
button in theReleases
section ofscala-cli
GitHub page.- Create a tag for the new release.
- Use the
Auto-generate release notes
feature to pre-populate the document with pull requests included in the release. - Fill in the remaining sections, as in previous releases (features worth mentioning, notable changes, etc).
- Don't publish, save as draft instead
- Add the release notes on top
of the release notes doc and
create a PR.
- Make sure the notes render correctly on the website - that includes swapping out GitHub-idiomatic @mentions of users, links to PRs, issues, etc. When using IntelliJ you can do that using the regexes in release-notes-regexes.md.
- Copy any fixes over to the draft after getting the PR reviewed and merged.
- Mark the release draft as
pre-release
and thenPublish Release
- Wait for a green release CI build with all the updated versions.
- Double check if none of the steps failed, including individual distribution channels in
the
update-packages
andwindows-packages
jobs.
- Double check if none of the steps failed, including individual distribution channels in
the
- ScalaCLI Setup
- Merge pull request with updated Scala CLI version in scala-cli-setup repository. Pull request should be opened automatically after release.
- Wait for the
Update dist
PR to be automatically created after the previous one has been merged, and then proceed to merge it. - Make a release with the updated Scala CLI version.
- Update the
v1
&v1.5
tags to the latest release commit.git fetch --all git checkout origin v1.5.x git tag -d v1.5 git tag v1.5 git push origin v1.5 -f git tag -d v1 git tag v1 git push origin v1 -f
- Submit Scala CLI MSI installer
scala-cli-x86_64-pc-win32.msi
for malware analysis. The Msi file must be uploaded using this service. For more information on this process, refer here. - Unmark release as
pre-release
. - Announce the new release
- announce on Twitter
- announce on Discord
- announce on Reddit if the release contains any noteworthy changes
- Create a ticket for the next release using the
Plan a release
template and assign it to the person responsible.