...
Pre-release process
General Tasks
Anchor |
---|
| agree-on-upcoming-release |
---|
| agree-on-upcoming-release |
---|
|
(Community)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.
Anchor |
---|
| appoint-release-manager |
---|
| appoint-release-manager |
---|
|
(Community)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.
Anchor |
---|
| agree-on-feature-set |
---|
| agree-on-feature-set |
---|
|
(Community)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
Anchor |
---|
| prepare-release-testing |
---|
| prepare-release-testing |
---|
|
Create test checklist
Anchor |
---|
| create-test-checklist |
---|
| create-test-checklist |
---|
|
(Release Manager)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
Anchor |
---|
| setup-release-branches |
---|
| setup-release-branches |
---|
|
(Release Manager)First, update the RELEASE_NOTES in incubator-streampipes (dev) by adding significant new features from JIRA that correspond to the new release version.
...
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 ``uiui/deployment/rel/config.yml`` yml file and edit the list of active modules:
...
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
Anchor |
---|
| prepare-test-setup |
---|
| prepare-test-setup |
---|
|
(Release Manager)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.
...
Perform technical release readiness assessment
Anchor |
---|
| perform-technical-release-readiness-assessment |
---|
| perform-technical-release-readiness-assessment |
---|
|
Anchor |
---|
| checkout-release-branches |
---|
| checkout-release-branches |
---|
|
(Community)First, create a new folder and checkout the release branches of both projects ``incubatorincubator-streampipes`` and ``incubator-streampipes-extensions``.streampipes and incubator-streampipes-extensions:
Code Block |
---|
language | bash |
---|
title | Checkout release branches |
---|
|
# Clone & checkout a clean copy from the release branch
mkdir test-streampipes-rc
git clone git@github.com:apache/incubator-streampipes.git
git clone git@github.com:apache/incubator-streampipes-extensions.git
cd incubator-streampipes
# Change VERSION to the current release branch
git checkout rel/VERSION
cd ../incubator-streampipes-extensions
# Change VERSION to the current release branch
git checkout rel/VERSION
|
Anchor |
---|
| setup-test-environment |
---|
| setup-test-environment |
---|
|
(Community)Now we'll build the system from source and run a test instance in Docker. Note that the docker-compose file used here should only be used for final release testing, as no volumes are defined for persistence.
incubator-streampipes
Code Block |
---|
language | bash |
---|
title | Build Maven artifacts |
---|
|
# Open incubator-streampipes folder
cd incubator-streampipes
# Run Maven Build, use install to make core artifacts available to the extensions build later
mvn clean install
|
Code Block |
---|
language | bash |
---|
title | Build UI |
---|
|
# Run NPM Build
cd ui
npm install
npm run build
|
(Community) Anchor |
---|
| fix-critical-issue |
---|
| fix-critical-issue |
---|
|
(Community)Perform legal release readiness assessment