Update release instructions
Project: http://git-wip-us.apache.org/repos/asf/ant-ivyde/repo Commit: http://git-wip-us.apache.org/repos/asf/ant-ivyde/commit/89a3ebcc Tree: http://git-wip-us.apache.org/repos/asf/ant-ivyde/tree/89a3ebcc Diff: http://git-wip-us.apache.org/repos/asf/ant-ivyde/diff/89a3ebcc Branch: refs/heads/master Commit: 89a3ebcc75e3dde10f989dc5f60fb398b82d63a2 Parents: b7a80d3 Author: Jaikiran Pai <[email protected]> Authored: Wed Jun 13 20:10:24 2018 +0530 Committer: Jaikiran Pai <[email protected]> Committed: Wed Jun 13 20:10:24 2018 +0530 ---------------------------------------------------------------------- doc/src/dev/release.adoc | 78 +++++++++++++--------------------------- doc/src/dev/updatesite.adoc | 26 +++++++------- 2 files changed, 37 insertions(+), 67 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/89a3ebcc/doc/src/dev/release.adoc ---------------------------------------------------------------------- diff --git a/doc/src/dev/release.adoc b/doc/src/dev/release.adoc index d1daa97..f3802c5 100644 --- a/doc/src/dev/release.adoc +++ b/doc/src/dev/release.adoc @@ -18,7 +18,7 @@ //// This documentation is defining every steps that needs to be accomplished when releasing Apache IvyDE. -In this doc, the released version is denoted as $VERSION, so it HAVE to be replaced in the command line argument accordingly. There is also some $LOGIN which is referencing your login on the Apache machines. +In this doc, the released version is denoted as $VERSION, so it HAS to be replaced in the command line argument accordingly. There is also some $LOGIN which is referencing your login on the Apache machines. == Prepare @@ -28,88 +28,58 @@ First in link:https://issues.apache.org/jira/browse/IVYDE[Jira] make sure that n === Release notes -Make sure the release notes and the annoucement are up to date. Look at doc/release-notes.html. Remove there anything which refers to a draft status. +Make sure the release notes and the annoucement are up to date in doc/src/release-notes.adoc. === Last checks -Make sure that there is no missing ASL header in the source files. The build of IvyDE generate a report there: https://builds.apache.org/job/IvyDE/lastSuccessfulBuild/artifact/trunk/work/rat/report.txt +Make sure that there is no missing ASL header in the source files. The build of IvyDE generate a report there: https://builds.apache.org/job/IvyDE/lastSuccessfulBuild/artifact/work/rat/report.txt Make sure the copyright year in the NOTICE file is the current year. -Make sure the copyright year in the html template is the current year; the 3 template files to check are: `template.html`, `template-eclipse.html` and `printTemplate.html`. +Make sure the copyright year in the asciidoc template files is the current year; the 3 template files to check are: + - `doc/templates/book/document.html.slim` + - `doc/templates/articles/document.html.slim` + - `doc/templates/eclipse/document.html.slim` -=== Release branch -Some modifications of the branch are need to do the release. So a new branch is needed: +== Building for release -[source] ----- -svn copy https://svn.apache.org/repos/asf/ant/ivy/ivyde/trunk \ - https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION \ - -m "Creating a release branch for IvyDE $VERSION" ----- - -and then checkout it: +Make sure you have a proper working copy with a `git status`. You should have no modification. -[source] ----- -svn co https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION ivyde-$VERSION ----- +Edit the `build.properties` and update the value of the `version.qualifier` property to an appropriate qualifier. For example, if you want to release the `Final` version of `2.3.0` then the `version.qualifier` value is expected to be `Final`. Similarly, if you are releasing `rc1` of `2.3.0` then the value for this property will be `rc1` -=== Documentation release - -The documentation have to specify the correct version number: -In the files: +Then launch the build: -* doc/template.html + -The header should look like this [source] ---- -<title>${title} | Apache IvyDE $VERSION Documentation</title> +ant /release clean dist -DbaseLocation=/home/me/...../eclipse/ ---- -You'll need to fix the revision of the svn:external in doc. Edit the svn:external property on the folder doc and set it to the latest revision. It should look like: +And sign the artifacts: [source] ---- -xooki -r1306546 https://svn.apache.org/repos/asf/ant/site/xooki/ -style -r1306546 https://svn.apache.org/repos/asf/ant/site/ivyde/sources/style/ +./signArtifacts.sh ---- -=== Commit your changes - -Don't forget to commit the changes you've done into the release branch. - -== Building - -Make sure you have a proper working copy with a `svn status`. You should have no modification. - -Then launch the build: +Then it is time to tag the release as soon as you are happy with your artifacts: [source] ---- -ant /release clean dist -DbaseLocation=/home/me/...../eclipse/ +git tag $VERSION -m "Tag IvyDE release $VERSION" ---- -And sign the artifacts: +For example, for tagging the `2.3.0-rc1` release, use: [source] ---- -./signArtifacts.sh +git tag 2.3.0-rc1 -m "Tag IvyDE release 2.3.0-rc1" ---- -Then it is time to tag the release as soon as you are happy with your artifacts: - -[source] ----- -svn copy https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION \ - https://svn.apache.org/repos/asf/ant/ivy/ivyde/tags/$VERSION \ - -m "Tag IvyDE release $VERSION" ----- == Prepare the updatesite -The instructions to build the updatesite are link:updatesite{outfilesuffix}[there]. +The instructions to build the updatesite are in `doc/src/dev/updatesite.adoc`. == Vote for the released artifacts @@ -125,7 +95,7 @@ Subject: [VOTE] IvyDE $VERSION Release I have built a release candidate for Apache IvyDE $VERSION -The tag is here: http://svn.apache.org/repos/asf/ant/ivy/ivyde/tags/$VERSION +The tag is here: https://git1-us-west.apache.org/repos/asf?p=ant-ivyde.git;a=commit;h=refs/tags/$VERSION You can download the distribution from this URL: https://dist.apache.org/repos/dist/dev/ant/ivyde/$VERSION @@ -166,7 +136,7 @@ Follow the instructions of that link:updatesite{outfilesuffix}#deployment[page]. The annoucement should have been already prepared and reviewed by other committers. Its content can be found in doc/release-notes.html. -With that content, send a mail to [email protected], [email protected] and [email protected] with the title "[ANNOUNCE] Apache IvyDE $VERSION released", and with your apache email as sender (announce@ requires it). +With that content, send a mail to [email protected], [email protected] and [email protected] with the title "[ANNOUNCE] Apache IvyDE $VERSION released", and with your apache email as sender (announce@ requires it). == Update the documentation @@ -181,17 +151,17 @@ First we need to update the external links. In svn/site/ivyde/sources/history: svn pe svn:externals . ---- -And: +And: * update latest-milestone: [source] ---- -latest-milestone https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION/doc +latest-milestone https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION/doc ---- * add an entry: [source] ---- -$VERSION https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION/doc +$VERSION https://svn.apache.org/repos/asf/ant/ivy/ivyde/branches/$VERSION/doc ---- Then we need to edit svn/site/ivyde/sources/toc.json: http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/89a3ebcc/doc/src/dev/updatesite.adoc ---------------------------------------------------------------------- diff --git a/doc/src/dev/updatesite.adoc b/doc/src/dev/updatesite.adoc index baf77be..e6c773e 100644 --- a/doc/src/dev/updatesite.adoc +++ b/doc/src/dev/updatesite.adoc @@ -25,14 +25,9 @@ Important note: in this doc, the released version is denoted as $VERSION (and ha == [[setup]]Build a p2 repository -The svn location of the updatesite builder is there: https://svn.apache.org/repos/asf/ant/ivy/updatesite/trunk . We will build the p2 repository dedicated to the version to release. +The svn location of the updatesite builder is at: https://svn.apache.org/repos/asf/ant/ivy/updatesite/trunk . -* For an Ivy release: -As you have a build jar for Ivy, just do: -[source] ----- -ant build-ivy-p2-repo -Divy.jar=...../path/to/ivy.jar ----- +Checkout that SVN repo and `cd` to the `trunk` directory. We will build the p2 repository dedicated to the version to release. * For an IvyDE release: The zip distribution needs to be unpacked into the updatesite directory: @@ -43,22 +38,27 @@ ant build-ivyde-p2-repo -Divyde.zip=...../path/to/org.apache.ivyde.feature-${VER Now the binary files need to be signed. -* For an Ivy release: +* For an IvyDE release: [source] ---- -./signArtifacts.sh ivy-${VERSION} +./signArtifacts.sh ivyde-${VERSION} ---- -* For an IvyDE release: + +Example: + [source] ---- -./signArtifacts.sh ivyde-${VERSION} +./signArtifacts.sh ivyde-2.3.0.beta1-201806131514-RELEASE ---- + And finally commit your changes in `dist/dev` (this will put the p2 repository in the dev space of the dist repository). === Test the updatesite -The updatesite is ready to be tested at: `https://dist.apache.org/repos/dist/dev/ant/ivyde/updatesite/ivyde-${VERSION} ` +The updatesite is ready to be tested at: `https://dist.apache.org/repos/dist/dev/ant/ivyde/updatesite/ivyde-${VERSION}` + +*NOTE*: It's now time to wait for the release VOTE to pass before deciding on and following the rest of the steps in this document. === In case of an unaccepted release @@ -96,7 +96,7 @@ NB: adding or removing lines in `versions.xml` infer that you should edit the `s === Publish the p2 repository data -It is just about moving data (svn rm is not allowed, the two steps are required): +It is just about moving data (svn rm is not allowed, the two steps are required): [source] ---- svn mv https://dist.apache.org/repos/dist/dev/ant/ivyde/updatesite/ivyde-$VERSION https://dist.apache.org/repos/dist/release/ant/ivyde/updatesite/ -m 'publishing the p2 repo of the release of IvyDE $VERSION'
