Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Release steps description

...

4.3.1. Run script to create VCS tag in git 

Run ./script vote_1\[git\]create_rc_tag.sh  Example of script output:

...

? Probably this should be done using https://ci.ignite.apache.org/viewType.html?buildTypeId=ApacheIgniteReleaseJava8_PrepareVote3BuildNuGetPackages

For build number requested in this build step configuration, you should take build number (Teamcity identification of builds) from release candidate preparation Run Configuration from step 4.2.1.

4.6  Sending Release For Vote

...

All community members are encouraged to verify release. PMC members have a binding vote, but each vote matters.

5.1 Checks

...

Following list are steps, which can be done by each member, see also https://www.apache.org/info/verification.html

It is not complete list, community members can test any module or feature of the product.

  • Check that all JIRA issues for the specific version are Closed (example JQL: `project = IGNITE AND fixVersion <= 1.7 AND status != closed`).

    Code Block
    languagebash
    curl "https://issues.apache.org/jira/rest/api/2/search?jql=project=ignite%20AND%20status%20!=%20closed%20AND%20fixVersion<=1.7&fields=summary" | grep '"total":0,"issues":\[\]'


  • Check that sha1 & md5 checksum is correct. 

    Code Block
    languagexml
    sha1sum -c *.sha1
    md5sum -c *.md5


  • Check that signature is correct.

    Code Block
    languagexml
    gpg --verify-files *.asc


  • Check that version is correct.
  • Check licenses from the source code.

    Code Block
    languagexml
    mvn clean validate -DskipTests=true -P check-licenses


  • Build the binary releases from the source code.

    Code Block
    languagexml
    mvn clean package -DskipTests -Dignite.edition=hadoop
    mvn clean package -DskipTests


  • Build Ignite.NET binaries and NuGet packages

    Code Block
    languagebash
    cd modules\platforms\dotnet
    build -skipJava


  • Do some trivial checks, e.g. start local topology, run several examples from binaries gained at previous step. Unpacked binaries can be found at sources/target/release-package

...

P6. Release

6.1. Closing Vote

After vote passes someone from PMC should do the following:

...

Send an email with subject "[RESULT] <vote subject>" ("[RESULT] [VOTE] Release Apache Ignite <version> (<rc>)") and provide vote results: if it passes or not, provide voting details. 

For example, "[RESULT] [VOTE] Release Apache Ignite 2.7.5 (RC1)" and body similar to 2.7.5 vote result, 2.7.0 vote result . See also other example:

Expand


Code Block
languagexml

...

svn import apache-ignite-fabric-<version>-bin/docs https://svn.apache.org/repos/asf/ignite/site/trunk/releases/<version> -m "new Release (<version>)" 

...

Move release to https://dist.apache.org/repos/dist/release/ignite/<version

Code Block
languagexml
svn mv https://dist.apache.org/repos/dist/dev/ignite/<version><rc> https://dist.apache.org/repos/dist/release/ignite/<version> -m "Release <version>"

Create Release tag from RC tag

Code Block
languagexml
git tag -a <version> -m "<version>"
git push origin <version>
Hello!

Apache Ignite 1.4.0 release (RC1) has been accepted.

9 "+1" votes received.

Here are the votes received:

   - Denis Magda (binding)
   - Anton Vinogradov (binding)
   - Alexey Kuznetsov (binding)
   - Sergi Vladykin (binding)
   - Gianfranco Murador (binding)
   - Vladimir Ozerov (binding)
   - Raul Kripalani (binding)
   - Konstantin Boudnik (binding)
   - Chandresh Pancholi

Here is the link to vote thread -
http://apache-ignite-developers.2346864.n4.nabble.com/VOTE-Apache-Ignite-1-4-0-Release-RC1-tp3474.html
 
Ignite 1.4.0 successfuly released to https://dist.apache.org/repos/dist/release/ignite/1.4.0/

Thanks!


In case vote is unsuccessful or closed by release manager, prepare new release candidate with fixes starting from step 4.2

6.2. Run Release scripts

In case vote was sucessfull, run release* scripts from RC home




6.2.1. Move binaries

Run release_1[svn]move_binaries.sh Example of output

Expand


Code Block
languagebash
themeRDark
> ./release_1\[svn\]move_binaries.sh

# Releasing 2.7.5-rc4 :: Binaries #
Committing transaction...
Committed revision 34469.

=========================================================
Artifacts should be moved to Apache Ignite's release site
Please check results at:
 * binaries: https://apache.org/dist/ignite/2.7.5


Manual alternative of this script is move release to https://dist.apache.org/repos/dist/release/ignite/<version>  

Code Block
languagexml
svn mv https://dist.apache.org/repos/dist/dev/ignite/<version><rc> https://dist.apache.org/repos/dist/release/ignite/<version> -m "Release <version>"


Please check results at:
* binaries:  
https://apache.org/dist/ignite/{version} ← sync issue or delay here ?

Result should be available at https://dist.apache.org/repos/dist/release/ignite/



...

Send an email with subject "[RESULT] [VOTE] Apache Ignite <version> Release (<rc>)", for example "[RESULT] [VOTE] Apache Ignite 1.4.0 Release (RC1)" and body similar to: 

Code Block
languagexml
Hello!

Apache Ignite 1.4.0 release (RC1) has been accepted.

9 "+1" votes received.

Here are the votes received:

   - Denis Magda (binding)
   - Anton Vinogradov (binding)
   - Alexey Kuznetsov (binding)
   - Sergi Vladykin (binding)
   - Gianfranco Murador (binding)
   - Vladimir Ozerov (binding)
   - Raul Kripalani (binding)
   - Konstantin Boudnik (binding)
   - Chandresh Pancholi

Here is the link to vote thread -
http://apache-ignite-developers.2346864.n4.nabble.com/VOTE-Apache-Ignite-1-4-0-Release-RC1-tp3474.html
 
Ignite 1.4.0 successfuly released to https://dist.apache.org/repos/dist/release/ignite/1.4.0/

Thanks!

 


Post-release steps

After successful vote following actions should be done:

  1. Update version in the master branch (execute script and commit changes): ./scripts/update-versions.sh 2.9.0
  2. Release all the documentation (Java, .NET, C++, etc.) on apacheignite.readme.io. Make sure to update a documentation's version to a version of the release.
  3. Update the latest doc reference on ignite.apache.org:
    1. Update the new version number on the .htaccess file: RewriteRule ^releases/latest/(.*)$ /releases/1.9.0/$1 [L]
    2. Add the following tag to all .html files: <link rel="canonicalhref="https://ignite.apache.org/releases/latest/LANGUAGE-DIR/FILENAME.html" />
    3. Use the script that automates the update or contact Mauricio Stekl (mauricio@gridgain.com) who can assist with this step.
  4. Update Ignite version in this file - https://ignite.apache.org/latest
  5. Mark JIRA version as released.
  6. Update https://ignite.apache.org with new download links, make sure to use [preferred]/[distdir] and [disturl]/[distdir]: https://svn.apache.org/repos/asf/ignite/site/trunk
  7. Prepare the cloud images and update links to them here https://ignite.apache.org/download.cgi#docker. In addition, update the links to the images on the following documentation pages whenever is needed:
    1. http://apacheignite.gridgain.org/docs/docker-deployment
    2. https://apacheignite.readme.io/docs/aws-deployment
    3. https://apacheignite.readme.io/docs/google-compute-deployment
  8. Update Web Console docker image: https://hub.docker.com/r/apacheignite/web-console-standalone/tags/
  9. Delete previous releases from https://dist.apache.org/repos/dist/release/ignite/..., replace their download URLs by https://archive.apache.org/dist/ignite/...
  10. Release maven staging (https://maven.apache.org/developers/release/maven-project-release-procedure.html).
  11. Upload .NET NuGet packages to nuget.org. Credentials can be found in https://svn.apache.org/repos/private/pmc/ignite/credentials/nuget.org (PMC only).
  12. Make sure that the artifacts were synced up to http://repo2.maven.org/maven2/org/apache/ignite/ and Maven Central. Refer to the recently happened issue (
    Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyINFRA-13073
    )
  13. Announce the release by sending a single message to announce@apache.org and Ignite's user/dev lists. Refer to the examples below:
    1. http://apache-ignite-developers.2346864.n4.nabble.com/ANNOUNCE-Apache-Ignite-2-1-0-Released-td20145.html
  14. Announce security vulnerabilities that were fixed in the release following the ASF process https://www.apache.org/security/committers.html. Check with security@ignite.apache.org if there are any vulnerabilities. 

...

Warning

1. Can committer be release manager and upload artifacts provided that PMC will upload committer's key

2. Steps to be done for prepare Nuget packages

3. Steps to be done for prepare RPM/DEB packages - step 4.3.3.1

4. https://apache.org/dist/ignite/{version} ← sync issue or delay here ?