ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Matèrne (jhm) <apa...@materne.de>
Subject AW: ant-ivy git commit: initial WIP version of release instructions to follow for releasing Ivy
Date Tue, 27 Feb 2018 14:35:18 GMT
Have you seen doc/dev/makerelease.html ?
But updating (and maybe automating) is a good idea. ;)

Jan

> -----Urspr√ľngliche Nachricht-----
> Von: jaikiran@apache.org [mailto:jaikiran@apache.org]
> Gesendet: Dienstag, 27. Februar 2018 13:59
> An: notifications@ant.apache.org
> Betreff: ant-ivy git commit: initial WIP version of release
> instructions to follow for releasing Ivy
> 
> Repository: ant-ivy
> Updated Branches:
>   refs/heads/master 86eacb6b5 -> 1a19f2f83
> 
> 
> initial WIP version of release instructions to follow for releasing Ivy
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/ant-ivy/repo
> Commit: http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/1a19f2f8
> Tree: http://git-wip-us.apache.org/repos/asf/ant-ivy/tree/1a19f2f8
> Diff: http://git-wip-us.apache.org/repos/asf/ant-ivy/diff/1a19f2f8
> 
> Branch: refs/heads/master
> Commit: 1a19f2f836cd33a25d458ed8ba9bbb3c7ce4ff96
> Parents: 86eacb6
> Author: Jaikiran Pai <jaikiran@apache.org>
> Authored: Tue Feb 27 18:28:16 2018 +0530
> Committer: Jaikiran Pai <jaikiran@apache.org>
> Committed: Tue Feb 27 18:28:16 2018 +0530
> 
> ----------------------------------------------------------------------
>  release-instructions.adoc | 186
> +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 186 insertions(+)
> ----------------------------------------------------------------------
> 
> 
> http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/1a19f2f8/release-
> instructions.adoc
> ----------------------------------------------------------------------
> diff --git a/release-instructions.adoc b/release-instructions.adoc new
> file mode 100644 index 0000000..ba8bd5d
> --- /dev/null
> +++ b/release-instructions.adoc
> @@ -0,0 +1,186 @@
> += Instructions for releasing Apache Ivy
> +
> +
> +NOTE: This document is adapted from the Ant release process.
> +
> +== Propose a release plan
> +
> +This should set out the timetable for the release under ideal
> circumstances. In reality, you send a note to the list that you intend
> to cut the release and wait for a few days whether anybody objects.
> +
> +We don't create extra branches for release and the release will be
> done from the `master` branch.
> +
> +This document assumes you are familiar with `git` http://git-
> scm.com/book/en/v2/ may be a good guide if you are not.
> +
> +== Checkout the repo
> +
> +We don't want tags for failed votes to end up on out branches so the
> release is first created from a detached head.
> +
> +Checkout the `HEAD` of the `master` branch as a detached head:
> +
> +[source]
> +----
> +    git checkout master^0
> +
> +----
> +
> +Make sure that your directory tree is clean by running `git status`.
> +
> +== Update the version number
> +
> +The `version.properties` contains the version number of the Ivy
> project being released. Update the following properties to the right
> values (which is decided based on what version number and qualifier you
> want to associate with the release):
> +
> +[source]
> +----
> +target.ivy.version=2.5.0
> +# Following OSGi spec: have to be 3 numbers separated by dots
> +target.ivy.bundle.version=2.5.0 # in case we want to add a qualifier
> +such as alpha, beta, etc...
> +# if non empty, add a '_' at the end of the qualifier, so the version
> +would look like 1.2.3.alpha_200901011200
> +target.ivy.bundle.version.qualifier=alpha_
> +----
> +
> +== Trigger the release build
> +
> +Trigger the release by running the `build-release.xml`'s `release`
> target. This compiles the project, runs the tests, generates the
> documentation and tutorials and finally creates the distribution
> artifacts.
> +
> +[source]
> +----
> +    ant -f build-release.xml release
> +
> +----
> +
> +Upon successful completion, the distribution artifacts will be
> generated in the `build/distrib` directory of the checked out project,
> locally.
> +
> +== Sign the distribution artifacts
> +
> +TODO: This section needs more details about setting up KEYS and making
> +them available to the public (similar to the Ant project's KEYS file
> in
> +the repo)
> +
> +The `build-release.xml` has a `sign` target which can be used to sign
> the generated distribution artifacts. Run the following command to sign
> these artifacts:
> +
> +[source]
> +----
> +    ant -f build-release.xml sign
> +----
> +
> +== Commit the changes and create a RC tag for the release
> +
> +At this point the distribution artifacts have been generated and have
> been successfully signed too. We can now commit the changes (which most
> likely will just be the version file changes) and create a RC tag for
> the release.
> +
> +If we are releasing `2.5.0` and if this is the first RC for it, then
> we create a `2.5.0-RC1` tag for it.
> +
> +Be sure to replace the version number appropriately in the following
> command:
> +
> +[source]
> +----
> +    git tag -m "Release <version>" <version>
> +----
> +
> +The commit and the tag can now be pushed to the asf hosted repo:
> +
> +[source]
> +----
> +    git push --tags <remote-repo> master
> +----
> +
> +== Upload the distribution artifacts
> +
> +TODO: This needs more details and some verification that it's a
> similar process as that we do in Ant release. The process might involve
> the following:
> +
> +=== Upload to https://dist.apache.org/repos/dist/dev/ant/ivy/
> +
> +- Create a SVN sandbox on your computer with
> https://dist.apache.org/repos/dist/dev/ant/ivy/ in it.
> +
> +- Copy the distribution folder to the location of the sandbox.
> +
> +- `svn add` the files and `commit` into
> +https://dist.apache.org/repos/dist/dev/ant/ivy/
> +
> +=== Upload the Maven artifacts
> +TODO: This section needs work
> +
> +== Initiate a vote
> +
> +Once the above steps are done, initiate a vote by sending a email on
> dev@ant.
> +
> +The email will typically mention :
> +
> +- the git tag for the release including commit hash,
> +
> +- the location of the tarballs, including revision number in
> +dist.apache.org repository
> +
> +- the URL for the maven artifacts
> +
> +- TODO: link to documentation? (where do we upload it?)
> +
> +The vote will only pass if at least three PMC members have voted +1
> and more +1s than -1s have been cast.  The vote will run for 3 days.
> +
> +If the vote fails, address the problems and recreate the next RC build
> +(by redoing the release process)
> +
> +== Promote the RC to Final
> +
> +=== Create the tag in the repo
> +Once the vote has passed, tag the last RC created with the final tag
> +
> +[source]
> +----
> +    git checkout <the-rc-tag-that-passed-the-vote>
> +    git tag -m "Tagging release <verion> of Ivy" <version>
> +    git push --tags <remote-repo> master
> +----
> +
> +=== Promote the distribution artifacts to
> +https://dist.apache.org/repos/dist/release/ant/ivy/
> +
> +The distrib artifacts should be published the apache dist. It is
> managed via `svnpubsub` so the release should be committed to the
> subversion repository at
> https://dist.apache.org/repos/dist/release/ant/ivy/.
> +
> +TODO: This needs more details on what needs to be done
> +
> +== Release the project in the Ivy's JIRA
> +
> +Mark the newly released version as "released" in the JIRA and create a
> newer version for tracking upcoming tasks.
> +
> +== Update the version in the repo to next release
> +
> +Checkout the master branch and update the `version.properties` to use
> newer version number for a subsequent release. Commit the changes and
> push to master branch.
> +
> +[source]
> +----
> +    git checkout master
> +    ... edit the version.properties to use newer version
> +    git commit -m "next dev version" ./version.properties
> +    git push <remote-repo> master
> +----
> +
> +== Wait for mirrors to catch up
> +
> +Now that distribution artifacts have been uploaded, wait a few hours
> for the mirrors to catch up.
> +
> +== Update the Ivy site https://ant.apache.org/ivy/
> +
> +The website is managed here:
> +https://svn.apache.org/repos/asf/ant/site/ivy/
> +
> +TODO: This needs more details/verification
> +
> +Copy the manual of the release into the production folder - since the
> site still uses svn and Ivy proper uses git there currently is no way
> to use the scm for this.
> +
> +Regenerate the site
> +
> +== Announce the release
> +
> +At this point in time, the release is done and announcements are made.
> PGP-sign your announcement posts.
> +
> +Apache mailing lists that should get the announcements:
> +
> +    announce@apache.org, dev@ant.apache.org and ivy-
> user@ant.apache.org.
> +
> +== Get some fresh air!
> +
> +You can now reacquaint yourself with your family and friends ;)
> +
> +== Remove the older releases
> +
> +TODO: This needs details
> +
> +
> +
> +
> +
> +



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message