Skip to content

Latest commit

 

History

History
46 lines (45 loc) · 2.64 KB

release-procedure.md

File metadata and controls

46 lines (45 loc) · 2.64 KB

Release procedure reference

  • Draft release notes using the Draft new release button in the Releases section of scala-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 then Publish 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 and windows-packages jobs.
  • 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.