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

Compare with Current View Page History

« Previous Version 53 Next »

You are performing an Apache StreamPipes release for the first time?

Read the Onboarding Guide for Release Managers!


Prepare release candidates


Use a clean repository

It is recommended to use a clean repository for release preparation to ensure there are no unexpected local files in the source release.


Make sure that you are in the branch rel/VERSION that you created earlier


First, set sp.version in the Maven archetypes to the upcoming release version of StreamPipes:

Update Maven archetypes
# In all subdirectories of archetypes, open the pom.xml file in src/main/resources/archetype-resources and set the sp.version property to the upcoming version (e.g., 0.69.0)


Update the UI version manually to the upcoming version:

Update UI version
# Update the version in ui/package.json

Use the update version script to change version of the installer (directory: installer)

Create release branch
# change version to next release version
./upgrade_versions.sh NEW_RELEASE_VERSION
# ./upgrade_versions.sh 0.69.0

# Commit and push these changes to rel/VERSION


Now it's time to perform the Maven release!

Make sure to checkout a clean copy of incubator-streampipes and perform the following. Make sure you do this from the rel/VERSION branch!

Perform Maven release
mvn release:prepare -DautoVersionSubmodules=true -Papache-release

The release plugin will ask you a few things:

  1. The version we want to release as (It will suggest the version you get by omitting the -SNAPSHOT suffix)

  2. The name of the tag the release commit will be tagged with in the SCM (Name it release/{release-version} (e.g., release/0.69.0 )

  3. The next development version (The version present in the pom after the release) (e.g., 0.69.1-SNAPSHOT, use the next patch version and not the new minor version in dev)

Once this is finished, check that everything is correct: There should be a new tag release/version (e.g., release/0.69.0) which doesn't have any SNAPSHOT dependencies. In addition, your rel/VERSION branch should be increased to the next patch version.


Great! So the next step is to actually perform the release and stage the artifacts to the ASF Nexus. The command you need to run is:

Finish release
mvn release:perform -DreleaseProfiles=apache-release

Uploading the artifacts to the ASF Nexus might take some time. Once it is finished, go to https://repository.apache.org, log in with your Apache credentials, go to "Staging Repositories" and search for "streampipes".

There should be one item in the list containing the just uploaded files. Click on "Close" and enter a message (e.g., Close StreamPipes release VERSION) and then you are done on the Maven side!


Revert Release

Important! Only when there was an error in the release. If this is the case, the maven release can be reverted with the following commands:

Upload files to SVN
# Drop artifacts in Nexus repository
- Go to https://repository.apache.org and login
- Go to "Staging Repositories" and search for "streampipes"
- There should be one item in the list containing the just uploaded files
- Click on "Drop" and enter a message

# Delete git tags, both locally and remote
- git tag -d release/#RELEASE_VERSION (e.g. git tag -d release/0.69.0)
- git push --delete origin release/#RELEASE_VERSION (e.g. git push --delete origin release/0.69.0)

# Rollback maven version
- mvn versions:set -DnewVersion=#OLD_DEVELOPMENT_VERSION (e.g. mvn versions:set -DnewVersion=0.60.0-SNAPSHOT
- Check that the version was changed correctly in all pom.xml files
- mvn versions:commit

# Commit changes in git
# Now the release process can be started again



The final step is to upload the source release artifacts to the Apache SVN:


Upload files to SVN
# Create a new rc folder in the SVN (https://dist.apache.org/repos/dist/dev/incubator/streampipes)
# Create a new directory for the version (e.g., 0.69.0) and add release candidate (which is increased for every failed release), e.g., rc1.

# The folder structure should look like this:

- 0.69.0
	- rc1
 

# Copy the following files into this folder (they can be found in incubator-streampipes/target/checkout/target:
- RELEASE_NOTES.md
- RELEASE_VALIDATION.md
- README.md
- The zip file (apache-streampipes-VERSION-incubating-source-release.zip)
- The asc file
- The sha512 file

# Commit these changes to SVN.


Great! StreamPipes is ready for release voting.

Initiate vote

Now comes the best part: You're ready to send the VOTE mail to the developer list!

Remember: As an incubating project, two votes are required: First, the Apache StreamPipes community triggers a vote - once this vote is successful, a second vote will happen on the incubator list. But one step after the other - now let's write the mail targeted at our developer list at dev@streampipes.apache.org:


Vote Mail
TO: 
dev@streampipes.apache.org

SUBJECT:
[VOTE] Apache StreamPipes 0.69.0 (incubating) RC1 release

TEXT:
Apache StreamPipes (Incubating) 0.69.0 has been staged and it’s time to vote on accepting it for release.
If approved, we will seek final release approval from the IPMC. Voting will be open for 72 hours.
A minimum of 3 binding +1 votes and more binding +1 than binding -1 are required to pass, but everyone is welcome to vote!

One artifacts is relevant for this vote:

incubator-streampipes, staged at [1], available in Nexus at [2], release tag: release/0.69.0, hash for the release tag: 6893604222cb9c3efc4bf66dc0c21e3223c2c84e

Per [3] "Before voting +1, [P]PMC members are required to download the signed source code package,
compile it as provided, and test the resulting executable on their own platform,
along with also verifying that the package meets the requirements of the ASF policy on releases."

A release validation guide is available at [4]. The KEYS file is available at [5]

[ ] +1 accept (indicate what you validated - e.g. performed the checklist at the end of [4])
[ ] -1 reject (explanation required)

Thanks for taking your time for validating this release!


[1] https://dist.apache.org/repos/dist/dev/incubator/streampipes/0.69.0/rc1
[2] https://repository.apache.org/content/repositories/orgapachestreampipes-1016
[3] https://www.apache.org/dev/release.html#approving-a-release
[4] https://cwiki.apache.org/confluence/display/STREAMPIPES/Validating+a+release
[5] https://dist.apache.org/repos/dist/dev/incubator/streampipes/KEYS

Cancel a vote

  • If problems occur during the VOTE cancel the VOTE and prepare a new release candidate
Vote Mail
TO: 
dev@streampipes.apache.org

SUBJECT:
[CANCEL][VOTE] Apache StreamPipes 0.69.0 (incubating) RC1 release

TEXT:

Add description of the problem and how to resolve it.

Announce vote result

After 72 hours, the vote can be closed. Sometimes it might be worth to wait a little longer to allow all IPMC members to vote accordingly. If votes are missing, you can also directly approach people from the PPMC and ask for their vote.

Send the following mail to the dev list to announce the results:

Vote Result Mail
TO: 
dev@streampipes.apache.org

SUBJECT:
[RESULT][VOTE] Apache StreamPipes 0.69.0 (incubating) RC1 release

TEXT:
Hi all,

the vote is now closed after the 72h period has passed.
Result (as per [1], only votes from IPMC members are binding):
The vote PASSES with X votes +1 (X binding/Y non-binding) and no -1.


+1 (binding)
List

+1 (non-binding)
List

I will now bring the vote to the IPMC to get final approval for release.

NAME


[1] https://incubator.apache.org/guides/ppmc.html#ppmc_and_binding_votes

Vote on Incubator list

IPMC Vote Mail
TO: 
general@incubator.apache.org 

SUBJECT: 
[VOTE] Apache StreamPipes 0.69.0 (incubating) RC1 release 

TEXT: 
Hi all,

this is a call for a vote to release Apache StreamPipes (incubating) 0.69.0.
Apache StreamPipes (incubating) is self-service Industrial IoT toolbox to enable non-technical users to connect, analyze and explore IIoT data streams.
The Apache StreamPipes community has voted on and approved a proposal to release Apache StreamPipes (incubating) 0.69.0

We now kindly request the Incubator PMC members to review and vote on this release.

Vote and result threads from the StreamPipes community:
Result: https://lists.apache.org/thread/hmx9wtyjw6tqbx70gpvnr8tqcg0xxlcc
Vote: https://lists.apache.org/thread/b58pym522yqn4qbdym549xh440boy52p

From the PPMC vote, we carry over 1 binding IPMC votes:
Christofer Dutz

The vote will be open for at least 72 hours.

Please vote accordingly:

[] +1 approve (indicate what you validated - e.g., performed the checklist at [6])
[] +0 no opinion
[] -1 reject (explanation required)  One artifacts is relevant for this vote: 

incubator-streampipes, staged at [1], available in Nexus at [2], release tag: release/0.69.0, hash for the release tag: 6893604222cb9c3efc4bf66dc0c21e3223c2c84e


Per [3] "Before voting +1, [P]PMC members are required to download the signed source code package, 
compile it as provided, and test the resulting executable on their own platform, 
along with also verifying that the package meets the requirements of the ASF policy on releases." 

A release validation guide is available at [4]. The KEYS file is available at [5] 


Thanks for taking your time for validating this release!


[1] https://dist.apache.org/repos/dist/dev/incubator/streampipes/0.69.0/rc1/
[2] https://repository.apache.org/content/repositories/orgapachestreampipes-1016
[3] https://www.apache.org/dev/release.html#approving-a-release 
[4] https://cwiki.apache.org/confluence/display/STREAMPIPES/Validating+a+release 
[5] https://dist.apache.org/repos/dist/dev/incubator/streampipes/KEYS


Publish vote result to Incubator list

IPMC Vote Result Mail
TO: 
general@incubator.apache.org 

SUBJECT: 
[RESULT][VOTE] Release Apache StreamPipes 0.69.0 (incubating) 

TEXT: 
Hi all,

The vote to release Apache StreamPipes (incubating) 0.69.0 has passed with three +1 binding votes.

Binding votes:

Christofer Dutz
Julian Feinauer
Justin Mclean

Vote thread:
https://lists.apache.org/thread.html/r451a554230a558e3035c4d1c870591d50c2cadf00c36b0f9ba4a4616%40%3Cgeneral.incubator.apache.org%3E


Thanks a lot to everyone for taking your time to review our release candidate!
We will proceed with publishing the approved artifacts and sending out the announcements in the coming days.

On behalf of the Apache StreamPipes Community,
NAME





  • No labels