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~
~[x] 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
[x] 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)
[x] Set the proper version inside rascal-lsp/pom.xml (in most cases, remove `-SNAPSHOT)
[x] Set proper version information in rascal-vscode-extension/package.json (in most cases by removing -head from the current version)
[x] git commit -am "[release] set release version"
[x] git tag vNewVersion
[x] git tag rascal-lsp-NewVersion (fill the rascal-lsp version that is released here, so for example rascal-lsp-2.12.0)
[x] Set next version in package.json with head suffix; e.g. 0.2.0-head
[x] Set next version in pom.xml with snapshot suffix; e.g. 2.2.0-SNAPSHOT
[x] git commit -am "[release] prepare for next release
[x] git push
[x] git push --tags
[x] test the released vsix file from the VScode marketplace
[x] 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