Update release howto.
This commit is contained in:
parent
780dba1a30
commit
f4dfc40142
|
@ -71,9 +71,9 @@ Preliminary checks:
|
|||
* All Java files must contain a license header. The "RAT" maven plugin will
|
||||
generate a report indicating for which files the license is missing.
|
||||
* For a "minor" release, the library must be backward-compatible. Check all
|
||||
the errors reported by the "Clirr" plugin.
|
||||
the errors reported by the "Clirr" and/or "Revapi" plugin.
|
||||
* Clear all "CheckStyle" warnings.
|
||||
* Make sure that the construct reported by "FindBugs" are intentional.
|
||||
* Make sure that the construct reported by "SpotBugs" are intentional.
|
||||
* Mark all fixed issues as such in the bug-tracking system, and add a
|
||||
corresponding entry in "src/changes/changes.xml".
|
||||
|
||||
|
@ -86,7 +86,19 @@ that the build process can create all the necessary artifacts. The commands
|
|||
$ mvn clean site deploy -Prelease -Ptest-deploy
|
||||
|
||||
should create the artifacts in the "target/deploy" (note that the "JAVA_HOME"
|
||||
environment variable msut be defined to point to a valid JDK installation).
|
||||
environment variable must be defined to point to a valid JDK installation).
|
||||
|
||||
Note: If running from a remote terminal, you might need to tune the "gpg-agent"
|
||||
configuration file
|
||||
~/.gnupg/gpg-agent.conf
|
||||
to contain the following statements:
|
||||
---CUT---
|
||||
enable-ssh-support
|
||||
pinentry-program /usr/bin/pinentry-tty
|
||||
---CUT---
|
||||
and execute
|
||||
$ export GPG_TTY=$(tty)
|
||||
in order to set up the environment for entering the passphrase.
|
||||
|
||||
|
||||
(2)
|
||||
|
@ -100,6 +112,7 @@ remembering the binding between the local and remote origin branches:
|
|||
$ git branch X.Y-release
|
||||
$ git push -u origin X.Y-release
|
||||
|
||||
|
||||
(3)
|
||||
Switch to the release branch:
|
||||
|
||||
|
@ -115,6 +128,8 @@ branch since the creation of the release branch, there are two cases:
|
|||
merge master branch or version branch into X.Y-release branch:
|
||||
|
||||
$ git merge master
|
||||
or
|
||||
$ git rebase master
|
||||
or, if the version branch is called MATH_3_X
|
||||
$ git merge MATH_3_X
|
||||
|
||||
|
@ -134,10 +149,10 @@ In particular:
|
|||
* Estimate a release date (taking into account the release vote delay) and
|
||||
insert it in the "src/changes/changes.xml" file.
|
||||
* Update the "pom.xml" to contain the final version number and not a SNAPSHOT:
|
||||
Assuming that the release version will be "3.4", modify the "<version>" tag to
|
||||
Assuming that the release version will be "4.0-beta1", modify the "<version>" tag to
|
||||
read:
|
||||
|
||||
<version>3.4</version>
|
||||
<version>4.0-beta1</version>
|
||||
|
||||
Modify the section of "<properties>" that also refers to version numbers.
|
||||
You should uncomment the "<commons.rc.version>" line and indicate the
|
||||
|
@ -147,7 +162,7 @@ In particular:
|
|||
|
||||
<properties>
|
||||
<!-- ... -->
|
||||
<commons.release.version>3.4</commons.release.version>
|
||||
<commons.release.version>4.0-beta1</commons.release.version>
|
||||
<commons.rc.version>RC1</commons.rc.version>
|
||||
<!-- ... -->
|
||||
</properties>
|
||||
|
@ -157,7 +172,7 @@ In particular:
|
|||
The "download" page template is located at "src/site/xdoc/download_math.xml".
|
||||
This file is updated automatically by running the command:
|
||||
|
||||
$ mvn commons:download-page
|
||||
$ mvn commons-build:download-page
|
||||
|
||||
|
||||
(7)
|
||||
|
@ -180,7 +195,7 @@ Check you did not forget any file:
|
|||
$ git status
|
||||
|
||||
Commit the changes:
|
||||
$ git commit -m "creating release candidate"
|
||||
$ git commit -m "Create release candidate."
|
||||
|
||||
|
||||
(8)
|
||||
|
@ -193,31 +208,27 @@ Then, assuming the first candidate, the suffix will be "RC1" (this should
|
|||
be the same as in the "<properties>" in the "pom.xml"), and the command
|
||||
will be:
|
||||
|
||||
$ git tag -s -m "Creating Apache Commons Math v3.4 RC1 tag." MATH_3_4_RC1
|
||||
|
||||
If you have several GPG keys, you may prefer to use "-u keyId" to select a specific
|
||||
key for signing the tag instead of "-s" which select automatically one key
|
||||
from the configured e-mail address.
|
||||
$ git tag -u "__Your_key_id__" -m "Create Commons Math v4.0-beta1 RC1 tag." commons-math-4.0-beta1-RC1
|
||||
|
||||
Check the tag GPG signature:
|
||||
|
||||
$ git tag -v MATH_3_4_RC1
|
||||
$ git tag -v commons-math-4.0-beta1-RC1
|
||||
|
||||
You will get something like:
|
||||
|
||||
object cf4a9d70c9ac24dd7196995390171150e4e56451
|
||||
object 1d862ec8cca30a6b797583ef2f837e54830f658d
|
||||
type commit
|
||||
tag MATH_3_4_RC1
|
||||
tagger Luc Maisonobe <luc@apache.org> 1418934614 +0100
|
||||
tag commons-math-4.0-beta1-RC1
|
||||
tagger Gilles Sadowski <gilleseran@gmail.com> 1670895878 +0100
|
||||
|
||||
Creating Apache Commons Math v3.4 RC1 tag.
|
||||
gpg: Signature made Thu Dec 18 21:30:14 2014 CET using RSA key ID 02E9F65B
|
||||
gpg: Good signature from "Luc Maisonobe (CODE SIGNING KEY) <luc@apache.org>"
|
||||
gpg: aka "Luc Maisonobe <Luc.Maisonobe@c-s.fr>"
|
||||
gpg: aka "Luc Maisonobe <Luc.Maisonobe@free.fr>"
|
||||
gpg: aka "Luc Maisonobe <luc@orekit.org>"
|
||||
Create Commons Math v4.0-beta1 RC1 tag.
|
||||
gpg: Signature made Tue 13 Dec 2022 02:44:38 AM CET
|
||||
gpg: using RSA key B39617E095CD748DFE505816703413011E22D5B8
|
||||
gpg: issuer "erans@apache.org"
|
||||
gpg: Good signature from "Gilles Sadowski (ASF code signing) <erans@apache.org>" [ultimate]
|
||||
gpg: aka "Gilles Sadowski <gilles@harfang.homelinux.org>" [ultimate]
|
||||
|
||||
Remember the commit ID listed in the object line (here cf4a9d70c9ac24dd7196995390171150e4e56451),
|
||||
Remember the commit ID listed in the object line (here: 1d862ec8cca30a6b797583ef2f837e54830f658d),
|
||||
as it is the most stable reference for traceability.
|
||||
|
||||
Push everything (including the tag!) on the Apache repository:
|
||||
|
@ -229,7 +240,7 @@ Switch to a new directory out of your regular workspace, and retrieve
|
|||
the official tag from the Apache repository:
|
||||
|
||||
$ cd /tmp
|
||||
$ git clone https://gitbox.apache.org/repos/asf/commons-math.git --branch MATH_3_4_RC1
|
||||
$ git clone https://gitbox.apache.org/repos/asf/commons-math.git --branch commons-math-4.0-beta1-RC1
|
||||
|
||||
In the command above, the --branch option accepts both branch names and tags names,
|
||||
so we specify directly the tag here. Git will warn that the resulting workspace
|
||||
|
|
Loading…
Reference in New Issue