You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/01/01 15:46:06 UTC

[isis] branch release-1.17.0-RC2 updated: ISIS-1899: updates release docs

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch release-1.17.0-RC2
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/release-1.17.0-RC2 by this push:
     new cba51c2  ISIS-1899: updates release docs
cba51c2 is described below

commit cba51c21e83fb169225b6fbcc1413ced0ef778e8
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Jan 1 15:07:28 2019 +0000

    ISIS-1899: updates release docs
---
 .../guides/cgcom/_cgcom_cutting-a-release.adoc     |  42 +++-
 .../cgcom/_cgcom_post-release-successful.adoc      |  48 ++++-
 .../guides/cgcom/_cgcom_verifying-releases.adoc    | 211 +++++++--------------
 3 files changed, 141 insertions(+), 160 deletions(-)

diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc
index da73202..2cd88ec 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc
@@ -860,17 +860,43 @@ I've cut a release for Apache Isis Core and the two archetypes:
 * HelloWorld Archetype {isisnext}
 * SimpleApp Archetype {isisnext}
 
-The source code artifacts have been uploaded to staging repositories on repository.apache.org:
-
-* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/core/isis/{isisnext}/isis-{isisnext}-source-release.zip
-* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/helloworld-archetype/{isisnext}/helloworld-archetype-{isisnext}-source-release.zip
-* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/simpleapp-archetype/{isisnext}/simpleapp-archetype-{isisnext}-source-release.zip
-
+The source code artifacts have been uploaded to staging repositories on repository.apache.org.
 For each zip there is a corresponding signature file (append .asc to the zip's url).
 
 In the source code repo the code has been tagged as isis-{isisnext}-RC1, helloworld-archetype-{isisnext}-RC1 and simpleapp-archetype-{isisnext}-RC1; see https://github.com/apache/isis/tags
 
-For instructions on how to verify the release (build from binaries and/or use in Maven directly), see https://isis.apache.org/guides/cgcom/cgcom.html#_cgcom_verifying-releases
+To verify the source code, you can use the following commands (in an empty directory):
+
+    NEXUSREPONUM=10xx
+    VERSION={isisnext}
+
+    curl http://www.apache.org/dist/isis/KEYS > /tmp/KEYS
+    gpg --import /tmp/KEYS
+
+    rm -rf isis-$VERSION*
+    rm -rf simpleapp-archetype-$VERSION*
+    rm -rf helloworld-archetype-$VERSION*
+
+    curl -O -L https://raw.githubusercontent.com/apache/isis/06f947ad7a0968c34d8e6941a77e12aa0196cd17/scripts/verify-isis-release.sh
+
+    chmod +x ./verify-isis-release.sh
+    ./verify-isis-release.sh $NEXUSREPONUM $VERSION
+
+
+Assuming this completes successfully, you can then test the two applications generated from the `simpleapp` and `helloworld` archetypes:
+
+    pushd test-simpleapp/myapp
+    mvn -pl webapp jetty:run
+    popd
+
+and
+
+    pushd test-helloworld/myapp
+    mvn jetty:run
+    popd
+
+
+For more details, see https://isis.apache.org/guides/cgcom/cgcom.html#_cgcom_verifying-releases
 
 Please verify the release and cast your vote.  The vote will be open for a minimum of 72 hours.
 
@@ -883,7 +909,7 @@ Remember to update:
 
 * the version number (`{isisnext}` or whatever)
 * the release candidate number (`RC1` or whatever)
-* the repository id, as provided by Nexus earlier (`orgapacheisis-10xx` or whatever)
+* the `NEXUSREPONUM` to the repository id as provided by Nexus earlier (`10xx` or whatever)
 
 Note that the email also references the procedure for other committers to xref:../cgcom/cgcom.adoc#_cgcom_verifying-releases[verify the release].
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-successful.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-successful.adoc
index 30f7fe7..15fb622 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-successful.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-successful.adoc
@@ -258,23 +258,53 @@ Log the new release in the link:https://reporter.apache.org/addrelease.html?isis
 
 This is currently a placeholder.
 
-The idea is to use `isis-webdocker` to create a new image, then upload:
+TODO:
 
-[source,bash]
+* This is currently dependent on https://issues.apache.org/jira/browse/INFRA-17518[INFRA-17518].
+
+* the entry: `<docker-plugin.imageName>` in `pom.xml` will need to change from `apacheisis/core` to simply `apache/isis-9.0.10-jre8-alpine`.
+
+* Once this has been implemented, we also need to update the documentation for helloworld and simpleapp in order to explain how to build and deploy a skinny war to a running container.
+
+
+
+The idea is to use `isis-webdocker` to create a new image, then upload.
+
+Prereqs are:
+
+[source,xml]
+.m2/settings.xml
 ----
-cd core
-mvn -Drevision=$ISISREL -pl isis-webdocker -D package-docker
+<settings ...>
+  ...
+  <servers>
+    <server>
+      <id>docker-hub</id>
+      <username>danhaywood</username>
+      <password>xxx</password>
+      <configuration>
+        <email>xxx@xxx.xxx</email>
+      </configuration>
+    </server>
+  </servers>
+</settings>
 ----
 
+\... because `isis-webdocker/pom.xml` references `docker-hub`.
 
 
-[NOTE]
-====
-This is currently dependent on https://issues.apache.org/jira/browse/INFRA-17518[INFRA-17518].
-====
+[source,bash]
+----
+cd core
+rm -rf ~/.m2/repository/org/apache/isis
+mvn -Drevision=$ISISREL \
+    -D docker-plugin.imageName="apacheisis/isis-9.0.10-jre8-alpine" \
+    -pl webdocker \
+    -D package-docker \
+    deploy
+----
 
 
-Once this has been implemented, we also need to update the documentation for helloworld and simpleapp in order to explain how to build and deploy a skinny war to a running container.
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_verifying-releases.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_verifying-releases.adoc
index e84d830..0eae0e6 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_verifying-releases.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_verifying-releases.adoc
@@ -38,76 +38,103 @@ Details of how to do this are also documented below.
 [[__cgcom_verifying-releases_prerequisites]]
 == Prerequisites
 
-To verify the source ZIP files, you will need to have imported the public keys used for signing Apache Isis releases.
-These can be downloaded from the root of the Apache Isis source tree.
+You will also require the following commands/tools:
 
-Since the Apache Isis source is mirrored on github.com, you can just use:
+* `bash`
++
+to run shell script
 
-[source,bash]
-----
-curl http://www.apache.org/dist/isis/KEYS > /tmp/KEYS
-gpg --import /tmp/KEYS
-----
+* `curl`
++
+to download the ZIP files
 
+* `gpg`
++
+to verify signatures
 
-Also, we will be rebuilding Isis from source.
-Therefore delete all Isis artifacts from your local Maven repo:
+* `unzip`
++
+to unzip the ZIP files
+
+* JDK 7
+
+* Apache Maven (`mvn`) 3.5.0+
++
+to build the code
 
-[source,bash]
-----
-rm -rf ~/.m2/repository/org/apache/isis
-----
 
 
 [[__cgcom_verifying-releases_verifying-source-artifacts]]
 == Verifying source artifacts
 
-You can either verify the source artifacts xref:../cgcom/cgcom.adoc#\__cgcom_verifying-releases_manual-procedure[manually], or use a script that xref:../cgcom/cgcom.adoc#__cgcom_verifying-releases_automated-procedure[automates] the steps.
+The easiest way to verify the source artifacts is to use a script that automates the steps.
+Run these commands (they should also be listed in the VOTE email):
 
 
-[[__cgcom_verifying-releases_manual-procedure]]
-=== Manual procedure
+[source,bash,subs="attributes+"]
+----
+NEXUSREPONUM=10xx                   # <1>
+VERSION={isisnext}
 
-The following section describes the steps to perform to manually verify a release.
+curl http://www.apache.org/dist/isis/KEYS > /tmp/KEYS
+gpg --import /tmp/KEYS
 
-==== Download the artifacts
+rm -rf isis-$VERSION*
+rm -rf simpleapp-archetype-$VERSION*
+rm -rf helloworld-archetype-$VERSION*
 
-Download both the ZIP and .ASC files from the location specified in the voting email.
-To verify that the signature is correct, use:
+curl -O -L https://gist.githubusercontent.com/danhaywood/9b052f68ef56cfdbeb3eb1603c5f772a/raw/a083599d34a502a18c5ccfd4a4d26f18352ca0e4/verify-isis-release.sh
 
-[source,bash]
-----
-gpg --verify isis-x.y.z.zip.asc isis-x.y.z.zip
+chmod +x ./verify-isis-release.sh
+./verify-isis-release.sh $NEXUSREPONUM $VERSION
 ----
+<1> Adjust as per VOTE email.
 
-==== Building source artifacts
+Just copy and paste these commands to your terminal, and run.
 
-Assuming the ZIP file verifies, it should be unpacked, and then the artifact built from source.
+The `verify-isis-release.sh` script performs the following:
 
-To build Apache Isis core, first clean out the local repository cache:
+* it downloads artifacts (`.zip` files and `.asc` files from the staging repository hosted on the Apache (Nexus) repository server.
++
+The location of this repository will be in the VOTE email.
 
-[source]
-----
-rm -rf ~/.m2/repository/org/apache/isis
-----
+* it verifies that the signatures are correct
++
+in other words, to confirm that the release was created by an Apache Isis committer
+
+* builds all the framework code from source
++
+that is, `core`, `simpleapp-archetype` and `helloworld-archetype`
+
+* generates and build an app for each of the two archetypes
 
-and then build using:
+Assuming this completes successfully, you can then test the two applications generated from the `simpleapp` and `helloworld` archetypes:
 
-[source]
+* Test out simpleapp using:
++
+[source,bash]
 ----
-mvn clean install -Dskip.git
+pushd test-simpleapp/myapp
+mvn -pl webapp jetty:run
+popd
 ----
 
-[IMPORTANT]
-====
-The `-Dskip.git` is required in order to temporarily disable the `git-commit-id-plugin` (which expects to be run within a git repository).
-====
+* Test out helloworld using:
++
+[source,bash]
+----
+pushd test-helloworld/myapp
+mvn jetty:run
+popd
+----
 
+You can if you wish perform some additional optional checks, listed in the sections below.
+Alternatively, you can xref:cgcom.adoc#__cgcom_verifying-releases_casting-a-vote[cast your vote].
 
-Optionally, confirm that the versions of the Isis artifacts now cached in your local repository are correct.
 
 
-==== Verifying binary artifacts
+[[__cgcom_verifying-releases_binary-artifacts]]
+== (Optional) Verifying binary artifacts
 
 You can verify the binary releases by configuring your local Maven install to point to the Maven staging repository (or repositories) and then using them, eg to run the xref:../ugfun/ugfun.adoc#_ugfun_getting-started_helloworld-archetype[HelloWorld archetype] or the xref:../ugfun/ugfun.adoc#_ugfun_getting-started_simpleapp-archetype[SimpleApp archetype] and running the resultant app.
 
@@ -150,54 +177,6 @@ If you forget to deactive the profile, there should be no adverse effects; Maven
 
 
 
-[[__cgcom_verifying-releases_automated-procedure]]
-=== Automated procedure
-
-To save some time in verifying an Apache Isis release we've assembled a script to automate the process.
-The script is tested on Mac OSX and Linux. Windows users can use Cygwin or http://msysgit.github.io/[msysgit].
-
-It's _recommended_ that you start this process in an empty directory:
-
-[source,bash]
-----
-mkdir ~/verify-isis-release
-cd ~/verify-isis-release
-----
-
-
-==== Copy script to local machine
-
-Download this link:https://gist.github.com/danhaywood/9b052f68ef56cfdbeb3eb1603c5f772a[gist], save to `verify-isis-release.sh`.
-
-
-==== Create an input file
-
-The input file is a plain `urls.txt` file containing all urls to the packages to be verified.
-Here's a sample of the release from Apache Isis 1.12.0:
-
-[source]
-----
-http://repository.apache.org/content/repositories/orgapacheisis-1058/org/apache/isis/core/isis/1.12.0/isis-1.12.0-source-release.zip
-http://repository.apache.org/content/repositories/orgapacheisis-1059/org/apache/isis/archetype/helloworld-archetype/1.12.0/helloworld-archetype-1.12.0-source-release.zip
-http://repository.apache.org/content/repositories/orgapacheisis-1059/org/apache/isis/archetype/simpleapp-archetype/1.12.0/simpleapp-archetype-1.12.0-source-release.zip
-----
-
-You will find the actual list of URLs to be verified in the vote mail on the dev mailing list.
-
-
-
-==== Execute the script
-
-Execute...
-
-[source,bash]
-----
-sh verify-isis-release.sh
-----
-
-\... and get yourself a cup of coffee.
-
-
 
 
 [[__cgcom_verifying-releases_creadur]]
@@ -222,61 +201,7 @@ In this report, each binary will have three links listed after its name '(licens
 
 
 
-
-
-== Test the archetypes
-
-Assuming that everything builds ok, then test the archetypes (adjust version as necessary):
-
-* First the `helloworld` archetype: +
-+
-[source,bash,subs="attributes+"]
-----
-mvn archetype:generate  \
-    -D archetypeCatalog=local \
-    -D archetypeGroupId=org.apache.isis.archetype \
-    -D archetypeArtifactId=helloworld-archetype \
-    -D archetypeVersion={isisnext} \
-    -D groupId=com.mycompany \
-    -D artifactId=myhelloworld \
-    -D version=1.0-SNAPSHOT \
-    -B \
-    -o
-
-cd myhelloworld
-mvn clean install jetty:run -o
-----
-+
-Adjust the version as necessary.
-
-* Next, the `simpleapp` archetype: +
-+
-[source,bash,subs="attributes+"]
-----
-cd ..
-
-mvn archetype:generate  \
-    -D archetypeCatalog=local \
-    -D archetypeGroupId=org.apache.isis.archetype \
-    -D archetypeArtifactId=simpleapp-archetype \
-    -D archetypeVersion={isisnext} \
-    -D groupId=com.mycompany \
-    -D artifactId=mysimpleapp \
-    -D version=1.0-SNAPSHOT \
-    -B \
-    -o
-
-cd mysimpleapp
-mvn clean install -o && mvn -pl webapp jetty:run -o
-----
-+
-Adjust the version as necessary.
-
-If the archetypes run up ok, then it's time to xref:../cgcom/cgcom.adoc#_cgcom_verifying-releases[vote]!
-
-
-
-
+[[__cgcom_verifying-releases_casting-a-vote]]
 == Casting a Vote
 
 When you have made the above checks (and any other checks you think may be relevant), cast your vote by replying to the email thread on the mailing list.