Move sources to release mirror in SVN
# Move core svn move -m "Release Apache StreamPipes 0.90.0" \ https://dist.apache.org/repos/dist/dev/streampipes/0.90.0/rc1/ \ https://dist.apache.org/repos/dist/release/streampipes/0.90.0
Deploy Maven artifacts to Maven Central
The probably simplest part is releasing the Maven artifacts.
In order to do this, the release manager logs into Nexus at https://repository.apache.org/, selects the staging repository and clicks on the Release
button.
This will move all artifacts into the Apache release repository and delete the staging repository after that.
All release artifacts released to the Apache release repo, will automatically be synced to Maven central.
Publish Python Library to PyPi & Update Docs
As a final step, we want to deploy the python version and update the python docs on our website.
To do so, two steps are required:
- Execute Python deployment workflow in the main repository (
apache/streampipes
)
Go to theActions
section on GitHub, select the worklfowDeploy Python Package to PyPi & update docs.
Next click onRun workflow
and select the current release tag (e.g.,release/0.91.0
). Confirm by clicking againRun workflow.
- Publish docs on website (website repository:
apache/streampipes-website
)
Once the above workflow has finished successfully, you can switch to the website repository.
There you need to execute the workflow update-python docs manually and provide the current release branch as input.
This workflow creates a PR to the website repository, which you need to merge and then deploy the changes to the website.
Merge release into master
Merge the release tag into master.
During the last release (0.67.0) there where some merge conflict when merging the new release tag into master.
The following link helped to resolve the problems: https://stackoverflow.com/questions/173919/is-there-a-theirs-version-of-git-merge-s-ours
I also had similar problems during the 0.68.0 release and did the following:
Pull master & release branch
git checkout release/0.68.0
git merge master -s ours
git checkout master
git merge release/0.68.0
For release 0.69.0 I used the following commands:
git checkout release/0.69.0
git merge master -s ours
git checkout master
git merge #commit_ID_of_the_last_commit (ID of merge commit)
Publish Docker images
Manually trigger the GitHub actions build (either in master or the release tag, e.g. release/0.69.0)
Once the actions job is finished, validate that all images are pushed to docker hub.
Update website and docs
Clone the incubator-streampipes-website project and checkout the dev branch.
First, change the download link to the new release version:
# In website-v2/pages/download.tsx, change the version and release date: <DownloadSection version={'0.93.0'} showMoreInfo={true} releaseDate={'2023-11-27'}></DownloadSection> # In ./docs/01_try-installation.md, change the version <DownloadSection version={'0.93.0'}></DownloadSection> # In ./website-v2/docusaurus.config.js adapt the announcement content: 'Apache StreamPipes 0.93.0 is available! ⭐️',
In the documentation, also update the installation guide and other files that link to outdated versions. Commit all changes to dev.
Now we can release a new docs version.
# in documentation/website, run the following command: npm run ds-version NEW_VERSION #eg: npm run ds-version 0.68.0
Add version to DOAP file
Update website and docs
Cleaning up older versions
As a lot of mirrors are serving our releases, it is the Apache policy to clean old releases from the repo if newer versions are released.
svn delete https://dist.apache.org/repos/dist/release/streampipes/0.91.0/ -m "Delete version 0.91.0"
Draft release on GitHub
- Go to Releases Page and click Draft a new release
- Choose tag of release (e.g. release/0.92.0)
- Title: Release version (e.g. 0.92.0)
- Copy release notes from file RELEASE_NOTES.md
- Click Publish Release and mark as latest
- IMPORTANT: Check that file RELEASE_NOTES.md in branch dev contain the lates release notes
Send Announce mail
TO:
announce@apache.org dev@streampipes.apache.org users@streampipes.apache.org
SUBJECT:
[ANNOUNCE] Apache StreamPipes 0.69.0
TEXT:
The Apache StreamPipes community is pleased to announce the
immediate availability of Apache StreamPipes 0.69.0.
Apache StreamPipes is a self-service (Industrial) IoT toolbox
to enable non-technical users to connect, analyze and explore IoT data streams.
The most notable highlights of this release include a completely reworked data explorer for quick exploration of IoT data,
improved pipeline modeling and improved user and access rights management.
In addition, our new release includes more than 80 improvements and bug fixes.
Some feature highlights of the new release can be found in our blog post:
https://streampipes.apache.org/docs/blog/2022/03/21_release/0690.html
The release is available for download on our website:
https://streampipes.apache.org/download
To get an overview of Apache StreamPipes, find a feature overview and tour
at:
https://streampipes.apache.org/docs/user-guide-introduction.html
More information about the project is available at:
- Website: https://streampipes.apache.org
- Github: https://github.com/apache/streampipes
- Mailing lists: dev@streampipes.apache.org, users@streampipes.apache.org
Thanks to everyone who contributed to this release!
On behalf of the Apache StreamPipes community,
Philipp