-
Notifications
You must be signed in to change notification settings - Fork 275
Release Process
-
CI main builds are green
-
If minor version:
-
Update docs/modules/release-notes/x.x.adoc with release notes
-
Submit PR targeting main branch and merge
-
-
If patch version
-
Update docs/modules/release-notes/CHANGELOG.adoc with release notes
-
Update docs/modules/release-notes/x.x.adoc with latest patch version
-
Submit PR targeting release/x.x branch and merge
-
-
apple/pkl-lang.org main branch (minor version), or release/x.x branch (patch version)
-
run
gw validateLocalSite
.-
It’s okay if there are errors like
Unexpected HTTP status code 404 for external link https://pkl-lang.org/pkl/<new-version>-dev/…;
because we do not publish docs for unreleased versions of Pkl.
-
-
do a quick manual check of the generated site (esp. the release notes)
-
-
Minor release:
-
apple/pkl (main branch)
-
gradle.properties: update
version
as necessary -
docs/antora.yml: update
version
(no suffix for release,-rc.n
suffix for RC) andprerelease
properties (true
→false
) -
docs/modules/ROOT/partials/component-attributes.adoc: update top two properties
-
pkl-core/src/main/java/org/pkl/core/runtime/VmLanguage.java: update
version
annotation attribute -
jbang-catalog.json: update the version in the maven dependencies
-
to be on the safe side, do a file search for latest dev version and replace as necessary
-
commit "Prepare x.y.z release" but do not push yet
-
avoids issue where docs build fails because main branch and tag have same Antora component version
-
-
-
-
Patch release:
-
apple/pkl (release/x.x branch)
-
gradle.properties: update
version
-
docs/antora.yml: update
version
-
docs/modules/ROOT/partials/component-attributes.adoc: update
pkl-version-no-suffix
-
pkl-core/src/main/java/org/pkl/core/runtime/VmLanguage.java: update
version
-
jbang-catalog.json: update the version in the maven dependencies
-
Commit
"Prepare x.y.z release"
and push to upstream
-
-
-
apple/pkl
-
run
git tag -a x.y.z -m "Release version x.y.z"
-
push to upstream (
git push upstream refs/tags/x.y.z
) and monitor build of pkl-lang/pkl. After build complete:-
create a branch, called
release/x.y
for the newly released versionx.y
off of the"Prepare x.y.z release"
commit and push it -
once CI build is complete, do a quick manual check of https://pkl-lang.org/main/current
-
-
-
Wait until jars are available on Maven Central (takes about 5 minutes after CI build is complete)
-
Trigger CI for pkl-package-docs again to build the stdlib docs
-
Manually upload jpkl as a GitHub Releases asset (we should really upload this as part of CI but still need to fix our release build)
-
Download
pkl-cli-java
from Maven Central, rename tojpkl
-
Edit the release, add
jpkl
as an asset
-
-
-
If new minor release:
-
apple/pkl (main branch)
-
docs/antora.yml: Update
version
(use -dev suffix) andprerelease
properties (false
→true
) -
docs/modules/ROOT/partials/component-attributes.adoc: update top two properties
-
-
gradle.properties: set
version
to next dev version (do not use -dev or -SNAPSHOT suffix)-
pkl-core/src/main/java/org/pkl/core/runtime/VmLanguage.java: update
version
annotation attribute (use-dev
suffix) -
stdlib/: update
minPklVersion
of all stdlib modules (do not use-dev
suffix) -
changelog.adoc: add the next release version and date
-
create a new release notes file in docs/modules/release-notes/pages/<next-version>.adoc with the following contents:
= Pkl 0.XX Release Notes :version: 0.XX :version-minor: 0.XX.0 :release-date: TBD link:ROOT:partial$component-attributes.adoc[role=include] Pkl {version} was released on {release-date}. + [.small]#The latest bugfix release is {version-minor}. (xref:changelog.adoc[All Versions])# The next release (0.XX) is scheduled for ???.. Please send feedback and questions to https://github.com/apple/pkl/discussions[GitHub Discussions], or submit an issue on https://github.com/apple/pkl/issues/new[Github]. + [small]#Pkl is hosted on https://github.com/apple/pkl[GitHub]. To get started, follow xref:pkl-cli:index.adoc#installation[Installation].# == Highlights [small]#💖# News you don't want to miss. === XXX == Noteworthy [small]#🎶# Ready when you need them. === XXX == Breaking Changes [small]#💔# Things to watch out for when upgrading. === XXX == Miscellaneous [small]#🐸# * XXX == Bugs fixed [small]#🐜# XXX Bugs down, Inbox Zero in sight ... [smaller] * XXX (https://github.com/apple/pkl/issues/new[XXX]) == Contributors [small]#🙏# We would like to thank the contributors to this release (in alphabetical order): * XXX
-
update
docs/nav.adoc
anddocs/modules/release-notes/pages/index.adoc
to link to the next version -
to be on the safe side, do a file search for current release version and replace as necessary
-
commit "Start next dev iteration", and push to upstream
-
-
release new versions of pkl-spring, and pkl-intellij (update to latest version of Pkl)
-
release new versions of pkl-vscode, pkl-neovim if grammar has changed
-
update Pkl version in pkl-jvm-examples
-
-
If new patch release
-
apple/pkl (main branch)
-
Cherry-pick commit that adds release notes for recently released patch to CHANGELOG
-
Submit PR and merge into
main
-
-