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 Tue, 27 Feb 2018 14:42:01 GMT
No I hadn’t :) Will check it out tonight.

-Jaikiran

On Tuesday, February 27, 2018, Jan Matèrne (jhm) <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]
> > 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message