This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch release-2.0.0-M1-RC2 in repository https://gitbox.apache.org/repos/asf/isis.git
commit f555b81b229f55158d5a75d8dc299d5364194baf Author: danhaywood <d...@haywood-associates.co.uk> AuthorDate: Wed Jul 25 14:02:29 2018 +0100 ISIS-1810: further updates to release procedures --- .../guides/cgcom/_cgcom_cutting-a-release.adoc | 137 +++++++++++---------- 1 file changed, 71 insertions(+), 66 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 3488438..35d350c 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 @@ -305,6 +305,7 @@ mvn -P apache-release \ -Dgpg.passphrase="this is not really my passphrase" git tag $ISISART-$ISISREL +git tag $ISISART-$ISISREL-$ISISRC ---- using your own GPG passphrase, of course. @@ -459,7 +460,7 @@ docker container rm simpleapp Make sure you are in the correct directory and environment variables are correct. -To recreate the *simpleapp* archetype: +To recreate the *simpleapp* archetype, first ensure in the correct directory: [source,bash] ---- @@ -467,48 +468,20 @@ cd example/application/simpleapp env | grep ISIS | sort ---- -Then, run the script: +Then, run the script (which also builds the archetype once generated) and switch to the archetype's directory: [source,bash] ---- sh ../../../scripts/recreate-archetype.sh $ISISJIRA +cd `pwd|sed 's/application/archetype/'` ---- The script automatically commits changes; if you wish use `git log` and `git diff` (or a tool such as SourceTree) to review changes made. -[[__cgcom_cutting-a-release_releasing-the-simpleapp-archetype_deploy]] -=== Deploy - -Previously the release procedures used `mvn release:prepare` and `mvn release:perform`. -These are however not compatible with `${revision}` that we now use https://maven.apache.org/maven-ci-friendly.html[for CI/CD]. - -We therefore just use `mvn deploy` directly, activating the (inherited) `apache-release` profile that, amongst other things, brings in the `gpg` plugin for code signing. - -To build and deploy and tag, we use: - -[source,bash] ----- -mvn -P apache-release \ - clean deploy \ - -Dgpg.passphrase="this is not really my passphrase" - -git tag $ISISART-$ISISREL ----- - -using your own GPG passphrase, of course. - - -[IMPORTANT] -==== -This requires `gpg` v2.1 or later. -==== - - - -[[__cgcom_cutting-a-release_releasing-the-simpleapp-archetype_post-prepare-sanity-check]] -=== Post-prepare sanity check +[[__cgcom_cutting-a-release_releasing-the-simpleapp-archetype_sanity-check]] +=== Sanity check _In a different session_, create a new app from the archetype. First set up environment variables: @@ -546,6 +519,40 @@ mvn -pl webapp jetty:run # runs as mvn jetty plugin ---- +[[__cgcom_cutting-a-release_releasing-the-simpleapp-archetype_deploy]] +=== Deploy + +Back in the original session, we upload (deploy) the archetype to the staging repository. + +[NOTE] +==== +Previously we used `mvn release:prepare` and `mvn release:perform` to do this. +However not compatible with `${revision}` that we now use https://maven.apache.org/maven-ci-friendly.html[for CI/CD]. +We therefore now just use `mvn deploy` directly, activating the (inherited) `apache-release` profile that, amongst other things, brings in the `gpg` plugin for code signing. +==== + +To build and deploy and tag, we use: + +[source,bash] +---- +mvn -P apache-release \ + clean deploy \ + -Dgpg.passphrase="this is not really my passphrase" + +git tag $ISISART-$ISISREL +git tag $ISISART-$ISISREL-$ISISRC +---- + +using your own GPG passphrase, of course. + + +[IMPORTANT] +==== +This requires `gpg` v2.1 or later. +==== + + + [[__cgcom_cutting-a-release_releasing-the-helloworld-archetype]] == Releasing `helloworld` archetype @@ -636,48 +643,21 @@ cd example/application/helloworld env | grep ISIS | sort ---- -Then, run the script: +Then, run the script (which also builds the archetype once generated) and then switch to the archetype's directory: [source,bash] ---- sh ../../../scripts/recreate-archetype.sh $ISISJIRA +cd `pwd|sed 's/application/archetype/'` ---- -The script automatically commits changes; if you wish use `git log` and -`git diff` (or a tool such as SourceTree) to review changes made. - - -[[__cgcom_cutting-a-release_releasing-the-helloworld-archetype_deploy]] -=== Deploy - -Previously the release procedures used `mvn release:prepare` and `mvn release:perform`. -These are however not compatible with `${revision}` that we now use https://maven.apache.org/maven-ci-friendly.html[for CI/CD]. - -We therefore just use `mvn deploy` directly, activating the (inherited) `apache-release` profile that, amongst other things, brings in the `gpg` plugin for code signing. - -To build and deploy and tag, we use: - -[source,bash] ----- -mvn -P apache-release \ - clean deploy \ - -Dgpg.passphrase="this is not really my passphrase" - -git tag $ISISART-$ISISREL ----- - -using your own GPG passphrase, of course. - - -[IMPORTANT] -==== -This requires `gpg` v2.1 or later. -==== +The script automatically commits its changes. +If you wish use `git log` and `git diff` (or a tool such as SourceTree) to review changes made. -[[__cgcom_cutting-a-release_releasing-the-helloworld-archetype_post-prepare-sanity-check]] -=== Post-prepare sanity check +[[__cgcom_cutting-a-release_releasing-the-helloworld-archetype_sanity-check]] +=== Sanity check _In a different session_, create a new app from the archetype. First set up environment variables: @@ -714,6 +694,31 @@ mvn clean install -o mvn jetty:run ---- +[[__cgcom_cutting-a-release_releasing-the-helloworld-archetype_deploy]] +=== Deploy + +Back in the original session, we upload (deploy) the archetype to the staging repository. + +To build and deploy and tag, we use: + +[source,bash] +---- +mvn -P apache-release \ + clean deploy \ + -Dgpg.passphrase="this is not really my passphrase" + +git tag $ISISART-$ISISREL +git tag $ISISART-$ISISREL-$ISISRC +---- + +using your own GPG passphrase, of course. + + +[IMPORTANT] +==== +This requires `gpg` v2.1 or later. +==== + [[__cgcom_cutting-a-release_check-close-staging-repo]]