ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jaikiran Pai <jai.forums2...@gmail.com>
Subject Re: ant-ivy git commit: initial WIP version of release instructions to follow for releasing Ivy
Date Wed, 28 Feb 2018 09:46:41 GMT
I read through it and (obviously) it covers the necessary details. So my 
new doc that I committed isn't needed.

As for automating/changing things in that doc, I think it's something 
one of us can do once we try out that doc for this release.

-Jaikiran


On 27/02/18 8:12 PM, Jaikiran Pai wrote:
> No I hadn’t :) Will check it out tonight.
>
> -Jaikiran
>
> On Tuesday, February 27, 2018, Jan Matèrne (jhm) <apache@materne.de 
> <mailto:apache@materne.de>> wrote:
>
>     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>
>     [mailto:jaikiran@apache.org <mailto:jaikiran@apache.org>]
>     > Gesendet: Dienstag, 27. Februar 2018 13:59
>     > An: notifications@ant.apache.org
>     <mailto: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
>     <http://git-wip-us.apache.org/repos/asf/ant-ivy/repo>
>     > Commit:
>     http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/1a19f2f8
>     <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
>     <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
>     <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
>     <mailto:jaikiran@apache.org>>
>     > Authored: Tue Feb 27 18:28:16 2018 +0530
>     > Committer: Jaikiran Pai <jaikiran@apache.org
>     <mailto: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-
>     <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/ <http://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/
>     <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/
>     <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/
>     <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 <http://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/
>     <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/
>     <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/
>     <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 <mailto:announce@apache.org>,
>     dev@ant.apache.org <mailto:dev@ant.apache.org> and ivy-
>     > user@ant.apache.org <mailto: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
>     <mailto:dev-unsubscribe@ant.apache.org>
>     For additional commands, e-mail: dev-help@ant.apache.org
>     <mailto:dev-help@ant.apache.org>
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message