-
Notifications
You must be signed in to change notification settings - Fork 5
Semantics Release Process
This document guides you through the steps needed to releasing a new version of KIELER.
You will need a terminal application, Python v2, Inkscape, Gimp, 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
-
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
This is a good time to make sure that every plugin has a proper license file and proper metadata. Check the nightly RCA build to make sure that plugin names and provider names are set correctly.
-
Update the splash screen with the new version number. Adjust the version number in the
splash.svg
inplugins/de.cau.cs.kieler.core.product/images
. Export tosplash.bmp
(no alpha channel!) in the plugin root folder.Info for bmp export: Dimensions are 500 x 330 px Save the bmp image WITHOUT color space information. The opposite is the default in Gimp. Also, the bitmap should be saved in 24-bit format (8R, 8G, 8B). See: https://wiki.eclipse.org/Platform-releng/Updating_Branding
-
Create a release branch in the mainline repository. From this 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.
-
Increase the version numbers on the master branch. After the release the master should have the version of the next release. Also adjust the splash screen. (Usually accelerates step 1 and 3 of the next release)
-
Configure the build files in the repository. The build configuration in the repository must be adjusted 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 configuration.
-
Create a new Stream for the release in the Oomph setup.
-
Create a tag for the release.
-
Create a new release in GitHub. Click create new release and select the release tag. Use the automatically generated release notes and adjust them based on relevance. The release note structure should conform previous releases.
-
Download the build artifacts Download the "P2 Repository" and "All Products" artifact from the CI action of the release branch.
-
Attach the build artifacts to the release notes Attach the p2 repository and the products (individually) to the release notes.
-
Upload the build artifacts to the RTSYS servers Connect to
kieler@aeon
. Upload and unpack the p2 repository topublic_html/updatesite/release-semantics-x.x.x/
(e.g. https://rtsys.informatik.uni-kiel.de/~kieler/updatesite/release-semantics-1.3.0/). Upload the products topublic_html/files/release_sccharts_x.x.x/
(e.g. https://rtsys.informatik.uni-kiel.de/~kieler/files/release_sccharts_1.3.0/). -
Update top-level update site. Adjust the update site URL in
compositeArtifacts.xml
andcompositeContent.xml
located inupdatesite/
. -
Adjust 'Downloads' wiki page. Adjust the Downloads wiki page to reflect the latest release.
-
Send the word out to the mailing list and do a release party!
KIELER is an open source software project by the RTSYS Group at Kiel University, licensed under the Eclipse Public License or Eclipse Public License 2.0 | KIELER Mailing List
- Basic Syntax
- Annotations and Pragmas
- Dataflow
- Hostcode
- Timed Automata
- Object Orientation
- LEGO Mindstorms
- Developer Eclipse Setup with Oomph
- Semantics Release Process
- Build KIELER without Eclipse
- Automated Tests and Benchmarks
- Simulation Visualization (KViz)
- Legacy .sct Models
- Simulation Visualization (KViz)
- KiCo Tutorial