Skip to content

Release process

Daniel Chao edited this page Nov 13, 2024 · 13 revisions

Pre-release

  1. Add release notes to docs/modules/ROOT/pages/CHANGELOG.adoc and to src/main/resources/META-INF/plugin.xml
  2. Change version in docs/antora.yml and gradle.properties
  3. Commit message: "Prepare x.y.z release"
  4. Create a PR with these changes titled "Prepare release x.y.z", get approval, and squash-merge it into main.

Release

  1. Commit and create a tag based on current main. Make sure the tag does not have a "v" prefix.

    git tag -a x.y.z -m "Release version x.y.z"
    
  2. Push the tag

    These instructions assume that the apple/pkl-intellij remote is called "upstream".

    git push upstream refs/tags/x.y.z
    
  3. Wait for CI job to finish and make sure the release is here in GitHub

    • If releasing new minor version:

      Create a release branch based on current main

      1. git checkout -b release/x.y
      2. push to upstream
      3. trigger CI for main of pkl-lang.org (unless it's already running in time)
    • If releasing new patch version, cherry-pick commits into existing release/x.y

      If main is ahead of release/x.y:

      1. On main branch: git fetch upstream && git pull upstream main
      2. git checkout release/x.y
      3. git merge --ff-only main
      4. git push upstream release/x.y
  4. wait for the website build to finish and check the changelog is there

Clone this wiki locally