This document guides you through the steps needed for releasing a new version of KIELER.
You will need a terminal application and a user account on the RTSYS servers.
To release a new version of the KIELER Semantics features and product, please follow these steps:
Set version numbers. Since 0.12.0 the semantics plugins and features no longer have individual version numbers. Instead all plugins share the version of the corresponding release.
To set the version number in all pom files, manifests of all plugins and features, including their references in other files run the following script located in build/scripts/ in the semantics repository:
python version.py x.x.x |
By the way, this is a good time to make sure that every plugin has a proper license file and proper metadata. Go check the nightly RCA build to make sure that plugin names and provider names are set correctly. |
Check if all plug-ins to be released are contained in a feature. This is particularly important for new plug-ins.
Your can use the sanity check script to check the feature containment:
python sanity.py |
Update the splash screen with the new version number. Adjust the version number in the splash.svg in plugins/de.cau.cs.kieler.core.product/images. Export to splash.bmp (no alpha channel!) in the plugin root folder.
Hints for splash screen adjustments: Dimensions: 500 x 330 px |
Configure the build files in the repository. The build instruction in the repository must be configured for the release build. To apply the configuration run the following script located in build/scripts/:
python configure.py -release x.x.x |
This script is also capable of configuring the repository for a nightly build, to force correct configuration or revert effects of a release cofiguation. |
Tell Bamboo to build the release. Configure the build plan of the last release to build the new one. Change the following settings:
compositeArtifacts.xml
and compositeContent.xml
. These two files are in /home/kieler/public_html/updatesite
.To release a new version of the KIELER Pragmatics bundles and features, please follow the following steps. They are similar to the steps for a semantics release, with some small differences:
Set version numbers.The pragmatics plugins and features share a common version number corresponding to the current release. All plugins should have the version number of one minor version higher than the previous release (see Semantic Versioning)
To set the version number in all pom files, manifests of all plugins and features, including their references in other files run the following script located in build/scripts/ in the pragmatics repository:
python version.py x.x.x |
By the way, this is a good time to make sure that every plugin has a proper license file and proper metadata. Go check the nightly RCA build to make sure that plugin names and provider names are set correctly. |
There are some external bundles and features in the pragmatics repository not in the schema de.cau.cs.kieler.* that are built and hosted with a pragmatics release. Their version should stay the same as where it came from. The script does not update those fixed versions, except for the build/de.cau.cs.kieler.pragmatics.repository/category.xml file. Correct the version number manually there or correct the script to exclude that file and remove this note. |
Check if all plug-ins to be released are contained in a feature. This is particularly important for new plug-ins.
Create a release branch in the mainline repository. From this point on, the master branch can be used for normal development, while the release branch will only receive bugfixes and release-specific changes. Bugfixes are usually first developed on the master branch, and are then cherry-picked into the release branch. The branch should follow this release-branch naming scheme:
releases/pragmatics-YYYY-MM[-##] |
The optional -##
in the end is an additional consecutive number for multiple releases in the same month.
Configure the build files in the repository. The build instruction in the repository must be configured for the release build. To apply the configuration do the same thing as in this commit on the release branch. Make sure to update all associate sites to their release that you want to depend on.
Tell Bamboo to build the release. Configure the build plan Pragmatics Updatesite Release YYYY-MM of the last release to build the new one. Change the following settings:
compositeArtifacts.xml
and compositeContent.xml
. These two files are in /home/kieler/public_html/updatesite
.