This process describes the pre-release steps:
Pre-release process
General Tasks
Agree on upcoming release
At some point in time, some member of the community thinks that it is time for a new release. If you think so, write an email to the dev@streampipes.apache.org list and ask if there is consensus on performing the next release.
Appoint release manager
Every release must have a release manager. Following up the agreement, some member of the Apache StreamPipes PPMC needs to volunteer as a release manager (RM). Usually, this is done by replying to the previous email on the upcoming release.
Agree on feature set for next release
Once a release manager has been found, the community discusses features that are not yet finished but should be part of the next release.
Prepare release testing
Create test checklist
To track things that have been tested by community members, a checklist can be used to indicate things that work or do not work.
Create a new checklist by copying the template from Pre-Release Checklist to a new page that indicates the next release version.
Setup release branches
First, update the RELEASE_NOTES in incubator-streampipes (dev) by adding significant new features from JIRA that correspond to the new release version.
incubator-streampipes
Update active UI modules.
Depending on the features that should be released, the UI config for active modules needs to be updated. If the feature set changes, open the ``ui/deployment/rel/config.yml`` file and edit the list of active modules:
login: backgroundImage: 'deployment/dev/img/background.png' logo: 'deployment/dev/img/logo.png' logo-right: 'deployment/dev/img/sp-logo-right-white.png' modules: - spEditor - spPipelines - spConnect - spDashboard - spAppOverview - spAdd - spMyElements - spDataExplorer - spConfiguration
If needed, change the current SNAPSHOT version to the version that is planned for the upcoming release:
# Make sure to only use a SNAPSHOT version here mvn versions:set -DnewVersion=0.66.0-SNAPSHOT # Check the output and briefly check if all changed version numbers in the POM files are ok mvn versions:commit # Manually change the project version in the package.json file in the ui/ folder. # Push the changes to dev
Afterwards, create a new branch for the upcoming release candidate:
# Create a release branch by replacing VERSION with the intended release version mvn release:branch -DbranchName=rel/VERSION -DautoVersionSubmodules=true
The maven-release-plugin will ask you to provide the version number of the next development version (use the new minor version, not the suggested patch version). Afterwards, a new branch will be created and the version number in dev is increased to the next development version. All changes will be automatically pushed by the plugin.