This is an automated email from the ASF dual-hosted git repository. ntimofeev pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne-website.git
The following commit(s) were added to refs/heads/master by this push: new 8995427 Update release guide 8995427 is described below commit 899542703b535d08cfe7df3f1f6ebda9f641f665 Author: Nikita Timofeev <stari...@gmail.com> AuthorDate: Wed Jun 9 15:46:59 2021 +0300 Update release guide --- src/main/assets/scripts/main.js | 2 + src/main/site/content/dev/release-guide.md | 103 ++++++++++++++++------------- 2 files changed, 59 insertions(+), 46 deletions(-) diff --git a/src/main/assets/scripts/main.js b/src/main/assets/scripts/main.js index d1ca76a..19faa1d 100644 --- a/src/main/assets/scripts/main.js +++ b/src/main/assets/scripts/main.js @@ -29,12 +29,14 @@ var xml = require('highlight.js/lib/languages/xml.js'); var java = require('highlight.js/lib/languages/java.js'); var sql = require('highlight.js/lib/languages/sql.js'); var groovy = require('highlight.js/lib/languages/groovy.js'); +var bash = require('highlight.js/lib/languages/bash.js'); function initHljs() { hljs.registerLanguage('xml', xml); hljs.registerLanguage('java', java); hljs.registerLanguage('sql', sql); hljs.registerLanguage('groovy', groovy); + hljs.registerLanguage('bash', bash); hljs.initHighlightingOnLoad(); } diff --git a/src/main/site/content/dev/release-guide.md b/src/main/site/content/dev/release-guide.md index f5cd4d1..c0d9fa2 100644 --- a/src/main/site/content/dev/release-guide.md +++ b/src/main/site/content/dev/release-guide.md @@ -20,7 +20,7 @@ More info can be found at [http://www.apache.org/dev/release-signing.html](http: * Make sure "apache-releases" repository is configured in *~/.m2/settings.xml* and an appropriate password is setup. See [this page](http://www.apache.org/dev/publishing-maven-artifacts.html) for details. -* As Cayenne has modules which require Java 1.8, you should use Java 1.8 to perform the release. +* As Cayenne has modules which require Java 1.8, you should use at least Java 1.8 to perform the release. {{% gap %}} @@ -30,15 +30,16 @@ More info can be found at [http://www.apache.org/dev/release-signing.html](http: * Edit `UPGRADE-NOTES.txt` if there is anything to add there. * Update `RELEASE-NOTES.txt` with actual release name and current date as a release date. * Check Sources Compliance with [RAT](http://creadur.apache.org/rat/). To run RAT, -download the distro and unpack it somewhere. You can run it directly, or use a convenience script available at the root of Cayenne -source. Then read the report and fix any issues. - - cd cayenne - ./rat.sh ~/Desktop/apache-rat-0.14-SNAPSHOT.jar > report.txt - - As an alternative you could use Apache RAT maven plugin already configured in the Cayenne: - - mvn apache-rat:check + download the distro and unpack it somewhere. You can run it directly, or use a convenience script available at the root of Cayenne + source. Then read the report and fix any issues. + ```bash + cd cayenne + ./rat.sh ~/Desktop/apache-rat-0.14-SNAPSHOT.jar > report.txt + ``` + As an alternative you could use Apache RAT maven plugin already configured in the Cayenne: + ```bash + mvn apache-rat:check + ``` {{% gap %}} @@ -47,11 +48,12 @@ source. Then read the report and fix any issues. * Create a Git tag and Create Maven Staging Repository: - - cd cayenne - mvn release:clean - mvn release:prepare -DpreparationGoals="clean install" -DautoVersionSubmodules=true - mvn release:perform -P gpg [-Dgpg.keyname=B8AF90BF] + ```bash + cd cayenne + mvn release:clean + mvn release:prepare -DpreparationGoals="clean install" -DautoVersionSubmodules=true + mvn release:perform -P gpg [-Dgpg.keyname=B8AF90BF] + ``` * Close the staging repo. Login to [https://repository.apache.org/](https://repository.apache.org/) with Apache ID/password, go to "Staging Repositories" page. Select a staging @@ -67,37 +69,44 @@ be used by the people voting on Cayenne. It may look like this: * Switch to the release tag created above. -* Build source package (it will be the basis for the binary packages built -in the next steps) : - - mvn clean install -Passembly,src +* Build source package (it will be the basis for the binary packages built in the next steps) : + ```bash + mvn clean install -Passembly,src + ``` -* Build binary assemblies. Take *"assembly/target/cayenne-XXX-src.tar.gz"*, unpack it somewhere, and -perform binary builds from the unpacked directory (NOT FROM GIT CHECKOUT). _Release manager may skip -running unit tests from here, as shown -below, although release evaluators should use the src assembly for [unit testing](running-unit-tests.html) - and other kinds of testing._ - - mvn clean install -Passembly,generic -Dmaven.test.skip=true - - # You will need to do this on OS X, and use at least Java 1.8 - mvn clean install -Passembly,mac -Dmaven.test.skip=true +* Build binary assemblies. _Release manager may skip running unit tests from here, as shown + below, although release evaluators should use the src assembly for [unit testing](running-unit-tests.html) + and other kinds of testing._ For further details on a general Cayenne build process check [this page](building-cayenne.html). + + * Take *"assembly/target/cayenne-XXX-src.tar.gz"*, unpack it somewhere, and + perform binary builds from the unpacked directory (NOT FROM GIT CHECKOUT). + + * Per Apache release guidelines there shouldn't be any binaries in a release, so you need manually copy + Gradle wrapper. Just cp ./cayenne-gradle-plugin/gradle/ to the corresponding folder in unpacked sources. + + * Build binary artifacts + ```bash + mvn clean package -Passembly,generic -DskipTests + + # You will need to do this on OS X + mvn clean package -Passembly,mac -DskipTests # You will need to do this on Windows - mvn clean install -Passembly,windows -Dmaven.test.skip=true - - For further details on a general Cayenne build process check [this page](building-cayenne.html). + mvn clean package -Passembly,windows -DskipTests + ``` * Signing assemblies -You can find additional information in official Apache [Release Distribution policy](http://www.apache.org/dev/release-distribution) -and on [this page](http://www.apache.org/dev/release-signing.html). -Release manager key must be in the project KEYS file. Signing is a manual -procedure not included in the Ant or Maven script. Here is how it might -work ("-u" option can be omitted if you have only one GPG key): - - gpg -a -b -u B8AF90BF cayenne-X.X.tar.gz - gpg --print-md SHA512 cayenne-X.X.tar.gz > cayenne-X.X.tar.gz.sha512 + You can find additional information in official Apache [Release Distribution policy](http://www.apache.org/dev/release-distribution) + and on [this page](http://www.apache.org/dev/release-signing.html). + Release manager key must be in the project KEYS file. Signing is a manual + procedure not included in the Ant or Maven script. Here is how it might + work ("-u" option can be omitted if you have only one GPG key): + + ```bash + gpg -a -b -u B8AF90BF cayenne-X.X.tar.gz + gpg --print-md SHA512 cayenne-X.X.tar.gz > cayenne-X.X.tar.gz.sha512 + ``` * Assemblies, signature and checksum files are committed to the special SVN repo used for staging development releases: [https://dist.apache.org/repos/dist/dev/cayenne/](https://dist.apache.org/repos/dist/dev/cayenne/). @@ -137,9 +146,10 @@ the equivalent source). select the staging repo and click "Release". * Publish downloadable assemblies by moving them to the release repo: - - $ svn mv https://dist.apache.org/repos/dist/dev/cayenne/X.X \ - https://dist.apache.org/repos/dist/release/cayenne/ + ```bash + svn mv https://dist.apache.org/repos/dist/dev/cayenne/X.X \ + https://dist.apache.org/repos/dist/release/cayenne/ + ``` {{% gap %}} @@ -147,10 +157,11 @@ select the staging repo and click "Release". ## After the release -* Delete a previous version of Cayenne release of the same branch from the dist server. +* Delete a **previous version** of Cayenne release of the same branch from the dist server. It should be already [archived by Apache] (http://www.apache.org/dev/release.html#when-to-archive). Do this with an svn command like this: - - $ svn rm https://dist.apache.org/repos/dist/release/cayenne/Y.Y + ```bash + svn rm https://dist.apache.org/repos/dist/release/cayenne/Y.Y + ``` * [Tell Jira](https://issues.apache.org/jira/plugins/servlet/project-config/CAY/versions) that the release has been released. Ensure there is another milestone or