You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »


This process describes the pre-release steps: 


sp-release-process-pre-release

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:

Edit active UI 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

Commit and push these changes to dev

If needed, change the current SNAPSHOT version to the version that is planned for the upcoming release:

Set project version
# 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 release branch
# 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.

Prepare test setup

During the test phase, StreamPipes contributors should test the pre-release candidate (the branch we've just built) based on the provided docker-compose files for validation.

In case modules are changed, update the docker-compose files in incubator-streampipes and incubator-streampipes-extensions by adding/modifying/removing defined services.

Perform technical release readiness assessment

Checkout release branches

Setup test environment

Test system

Fix critical issue

Cherry-pick branches into dev

Perform legal release readiness assessment

Checkout release branches

Perform legal checks

Fix legal issue

Cherry-pick branches into dev





  • No labels