The current release instructions are focused on the rascal-language-servers project and the VScode extension that is included there
If you edit this template, then please push relevant improvements to the template itself for future reference.
Pre-releasing dependent tools in unstable
First a "pre-release" of the supporting compiler/typechecker tools must be done, so we know we are releasing a consistently compiled standard library.
[x] typepal and rascal-core compile in the continuous integration environment and no tests fail
[x] release typepal
[x] release rascal-core
[x] bump typepal and rascal-core versions in rascal-maven-plugin to latest releases
[x] release rascal-maven-plugin
[x] bump rascal-maven-plugin dependency in rascal and rascal-lsp projects
[ ] bump typepal and rascal-core versions in rascal-lsp project
[x] fix new errors and warnings in rascal and rascal-lsp project
Manual version checks
[x] Continuous Integration runs all unit and integration tests and fails no test
[x] Maximum number of compiler warnings are resolved
[ ] Version numbers are verified manually
Actual release
[x] write release notes in README.md (used on the marketplace pages)
[x] release rascal project (when resolving SNAPSHOT dependencies choose the right versions of vallang etc, and make sure to bump the new rascal SNAPSHOT release one minor version)
[x] release rascal-language-servers project (take care to choose the right release versions of typepal and rascal-core you release earlier and choose their new SNAPSHOT dependencies to the latest)
[ ] Set the proper version inside rascal-lsp/pom.xml (in most cases, remove `-SNAPSHOT)
[ ] Set proper version information in rascal-vscode-extension/package.json (in most cases by removing -head from the current version)
[ ] git commit -am "[release] set release version"
[ ] git tag vNewVersion
[ ] git tag rascal-lsp-NewVersion (fill the rascal-lsp version that is released here, so for example rascal-lsp-2.12.0)
[ ] Set next version in package.json with head suffix; e.g. 0.2.0-head
[ ] Set next version in pom.xml with snapshot suffix; e.g. 2.2.0-SNAPSHOT
[ ] git commit -am "[release] prepare for next release
[ ] git push
[ ] git push --tags
[ ] test the released vsix file from the VScode marketplace
[ ] Make Github release, copying the release notes from the vscode extension readme
Preliminaries
Pre-releasing dependent tools in unstable
First a "pre-release" of the supporting compiler/typechecker tools must be done, so we know we are releasing a consistently compiled standard library.
Manual version checks
Actual release
rascal-lsp/pom.xml
(in most cases, remove `-SNAPSHOT)rascal-vscode-extension/package.json
(in most cases by removing-head
from the current version)git commit -am "[release] set release version"
git tag vNewVersion
git tag rascal-lsp-NewVersion
(fill the rascal-lsp version that is released here, so for example rascal-lsp-2.12.0)head
suffix; e.g.0.2.0-head
snapshot
suffix; e.g.2.2.0-SNAPSHOT
git commit -am "[release] prepare for next release
git push
git push --tags