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

shuber pushed a commit to branch UNOMI-721-simplify-release
in repository https://gitbox.apache.org/repos/asf/unomi-site.git

commit d93e632b0d5292ed4d14872155815c8f8c3b64b8
Author: Serge Huber <shu...@jahia.com>
AuthorDate: Mon Dec 5 11:01:27 2022 +0100

    UNOMI-721 Simplify release process
    - Add release scripts to release guide
    - Rename old release guide as 'manual release guide'
---
 ...elease-guide.html => manual-release-guide.html} |   4 +-
 src/main/webapp/contribute/release-guide.html      | 143 +++------------------
 2 files changed, 20 insertions(+), 127 deletions(-)

diff --git a/src/main/webapp/contribute/release-guide.html 
b/src/main/webapp/contribute/manual-release-guide.html
similarity index 99%
copy from src/main/webapp/contribute/release-guide.html
copy to src/main/webapp/contribute/manual-release-guide.html
index 301d626..8568d43 100644
--- a/src/main/webapp/contribute/release-guide.html
+++ b/src/main/webapp/contribute/manual-release-guide.html
@@ -1,5 +1,5 @@
 ---
-title: Contribute | Release guide
+title: Contribute | Manual Release guide
 layout: default
 ---
 
@@ -39,7 +39,7 @@ layout: default
             </ul>
           </div>
           <div class="col-8 pt-3 offset-4">
-            <h2 id="apache-unomi-release-guide">Apache Unomi Release Guide</h2>
+            <h2 id="apache-unomi-release-guide">Manual Apache Unomi Release 
Guide</h2>
 
             <p>The Apache Unomi project periodically declares and publishes 
releases. A release is one or more packages of the project artifact(s) that are 
approved for general public distribution and use. They may come with various 
degrees of caveat regarding their perceived quality and potential for change, 
such as "alpha", "beta", "stable", etc.</p>
 
diff --git a/src/main/webapp/contribute/release-guide.html 
b/src/main/webapp/contribute/release-guide.html
index 301d626..0507b2f 100644
--- a/src/main/webapp/contribute/release-guide.html
+++ b/src/main/webapp/contribute/release-guide.html
@@ -146,35 +146,24 @@ gpg --verify test.txt.asc test.txt
                 </li>
             </ol>
 
-            <h3 id="prepare-git">Git</h3>
-            <ol>
-              <li>Clone and checkout the project using:
-                <pre class="alert alert-primary"><code>git clone 
https://gitbox.apache.org/repos/asf/unomi.git</code></pre>
-                 in a separate directory, to make sure you don’t have any 
additional files in the build
-                  (such as allCountries.zip or other binary files that should 
not be there)</li>
-                <li>
-                    Simply checkout an existing branch for release
-                    <pre class="alert alert-primary"><code>cd unomi
-git checkout unomi-${branch.version}
-                    </code></pre>
-                </li>
-                <li>OR Create a new branch if needed for the release using:
-                    <pre class="alert alert-primary"><code>cd unomi
-git checkout -b unomi-${branch.version}
-                    </code></pre>
-                </li>
-            </ol>
+            <h3 id="manual-release-guide">Automated vs manual release</h3>
+              <ol>
+                  <li>Most of the release steps are now executed through 
scripts. However if you prefer to do everything
+                  manually or are having some problems, you can find the 
manual release guide <a href="manual-release-guide.html">here.</a>
+                  </li>
+              </ol>
 
             <h3 id="prepare-build">Build the project</h3>
             <ol>
               <li>Make sure you have a Docker installation properly configured 
on the machine building the project,
                   as it is required to build everything.
               </li>
-              <li>Tests source, javadocs, docker and signature generation 
using:
-                <pre class="alert alert-primary"><code>mvn clean install -P 
apache-release,integration-tests,docker</code></pre>
-              </li>
-              <li>Make sure we generate all sub-projects using:
-                <pre class="alert alert-primary"><code>mvn clean install 
-DskipITs=true -DskipTests=true -P 
integration-tests,rat,apache-release,docker,\!run-tests</code></pre>
+                <li>Setup server passwords for publishing as document here:
+                    <a 
href="https://www.apache.org/dev/publishing-maven-artifacts.html"; 
target="_blank">https://www.apache.org/dev/publishing-maven-artifacts.html</a> 
and <a 
href="https://maven.apache.org/guides/mini/guide-encryption.html#How_to_encrypt_server_passwords";
 
target="_blank">https://maven.apache.org/guides/mini/guide-encryption.html#How_to_encrypt_server_passwords</a>
+                </li>
+              <li>Launch the first build script using
+                <pre class="alert alert-primary"><code>./release-stage-1.sh 
${next.stable.version} BRANCH_NAME</code></pre>
+                  where BRANCH_NAME is the branch you want to release (It must 
be created first if it doesn't exist !)
               </li>
               <li>Check that there are no JARs or ZIP files in the source 
code, you can do this by looking at the generated RAT report here :
                 <pre class="alert alert-primary"><code>less 
target/unomi-root-${next.development.version}.rat</code></pre>
@@ -196,37 +185,7 @@ gpg: signing failed: Inappropriate ioctl for 
device</code></pre>
 
             <h2 id="publish-the-release">Publish the release</h2>
             <h3 id="publish-repository">Repository</h3>
-
-            <ol>
-              <li>Setup server passwords for publishing as document here:
-                <a 
href="https://www.apache.org/dev/publishing-maven-artifacts.html"; 
target="_blank">https://www.apache.org/dev/publishing-maven-artifacts.html</a> 
and <a 
href="https://maven.apache.org/guides/mini/guide-encryption.html#How_to_encrypt_server_passwords";
 
target="_blank">https://maven.apache.org/guides/mini/guide-encryption.html#How_to_encrypt_server_passwords</a>
-              </li>
-              <li>Check into the target directory and unzip the source release 
and compile it using:
-                <pre class="alert alert-primary"><code>pushd target
-gpg --verify unomi-root-${next.development.version}-source-release.zip.asc 
unomi-root-${next.development.version}-source-release.zip
-shasum -a 512 unomi-root-${next.development.version}-source-release.zip
-cat unomi-root-${next.development.version}-source-release.zip.sha512
-unzip unomi-root-${next.development.version}-source-release.zip
-cd unomi-root-${next.development.version}
-mvn clean install
-popd</code></pre>
-                to check that the packaged source build properly
-              </li>
-              <li>Go back to the root project directory (pushd/popd did that 
for you normally) and run:
-                <pre class="alert alert-primary"><code>mvn release:prepare 
-DskipITs=true -DskipTests=true 
-Drelease.arguments="-Papache-release,integration-tests -DskipITs=true 
-DskipTests=true"  -DdryRun=true -P 
apache-release,integration-tests,docker,\!run-tests</code></pre>
-              </li>
-              <li>Publish a snapshot to test the deployment passwords:
-                <pre class="alert alert-primary"><code>mvn deploy 
-DskipITs=true -DskipTests=true -P \!run-tests</code></pre>
-              </li>
-                <li>Delete the release.properties file
-                    <pre class="alert alert-primary"><code>rm 
release.properties</code></pre>
-                </li>
-              <li>
-                <pre class="alert alert-primary"><code>mvn -P 
apache-release,integration-tests,docker,\!run-tests release:prepare</code></pre>
-              </li>
-              <li>
-                <pre class="alert alert-primary"><code>mvn -DskipITs=true 
-DskipTests=true -Drelease.arguments="-Papache-release,integration-tests 
-DskipITs=true -DskipTests=true" -P integration-tests,docker,\!run-tests 
release:perform</code></pre>
-              </li>
+              <ol>
               <li>If something fails, make sure you first drop the staging 
repository created here: <a 
href="https://repository.apache.org/#stagingRepositories"; 
target="_blank">https://repository.apache.org/#stagingRepositories</a>.<br>
 If you need to relaunch the <code>release:perform</code> and don’t have a 
release.properties, create a <code>release.properties</code> file with the 
following contents:
                 <pre class="alert 
alert-primary"><code>scm.url=scm:git:https://gitbox.apache.org/repos/asf?p=unomi.git
@@ -241,50 +200,9 @@ and run mvn release:perform</code></pre>
 
             <h3 id="publish-vote">Vote</h3>
             <ol>
-              <li>Upload the source and binary distributions to the Apache 
Dist repository before the PMC vote:
-                <pre class="alert alert-primary"><code>svn checkout 
https://dist.apache.org/repos/dist/dev/unomi unomi-dev</code></pre>
-              </li>
-              <li>
-                <pre class="alert alert-primary"><code>cd unomi-dev
-mkdir ${next.stable.version}</code></pre>
-              </li>
-              <li>
-                Copy all the Zip and Tarbars including ASC (but do not copy 
the SHA1 or MD5 sum) files from:
-                <a 
href="https://repository.apache.org/content/repositories/orgapacheunomi-1014/org/apache/unomi/unomi/${next.stable.version}/";
 
target="_blank">https://repository.apache.org/content/repositories/orgapacheunomi-1014/org/apache/unomi/unomi/${next.stable.version}/</a>
-                and
-                <a 
href="https://repository.apache.org/content/repositories/orgapacheunomi-1014/org/apache/unomi/unomi-root/${next.stable.version}/";
 
target="_blank">https://repository.apache.org/content/repositories/orgapacheunomi-1014/org/apache/unomi/unomi-root/${next.stable.version}/</a>
-                  using commands such as : <pre class="alert 
alert-primary"><code>export REPO_ID=orgapacheunomi-1033
-wget 
https://repository.apache.org/content/repositories/$REPO_ID/org/apache/unomi/unomi-root/${next.stable.version}/unomi-root-${next.stable.version}-source-release.zip
-wget 
https://repository.apache.org/content/repositories/$REPO_ID/org/apache/unomi/unomi-root/${next.stable.version}/unomi-root-${next.stable.version}-source-release.zip.asc
-wget 
https://repository.apache.org/content/repositories/$REPO_ID/org/apache/unomi/unomi/${next.stable.version}/unomi-${next.stable.version}.tar.gz
-wget 
https://repository.apache.org/content/repositories/$REPO_ID/org/apache/unomi/unomi/${next.stable.version}/unomi-${next.stable.version}.tar.gz.asc
-wget 
https://repository.apache.org/content/repositories/$REPO_ID/org/apache/unomi/unomi/${next.stable.version}/unomi-${next.stable.version}.zip
-wget 
https://repository.apache.org/content/repositories/$REPO_ID/org/apache/unomi/unomi/${next.stable.version}/unomi-${next.stable.version}.zip.asc</code></pre>
-
-              </li>
-              <li>
-                Rename the source and binary files to something shorter and 
consistent with previous releases and generate
-                  the SHA 512 checksum manually:
-                <pre class="alert alert-primary"><code>
-mv unomi-root-${next.stable.version}-source-release.zip 
unomi-${next.stable.version}-src.zip
-mv unomi-root-${next.stable.version}-source-release.zip.asc 
unomi-${next.stable.version}-src.zip.asc
-shasum -a 512 unomi-${next.stable.version}-src.zip > 
unomi-${next.stable.version}-src.zip.sha512
-
-mv unomi-${next.stable.version}.zip unomi-${next.stable.version}-bin.zip
-mv unomi-${next.stable.version}.zip.asc 
unomi-${next.stable.version}-bin.zip.asc
-shasum -a 512 unomi-${next.stable.version}-bin.zip > 
unomi-${next.stable.version}-bin.zip.sha512
-
-mv unomi-${next.stable.version}.tar.gz unomi-${next.stable.version}-bin.tar.gz
-mv unomi-${next.stable.version}.tar.gz.asc 
unomi-${next.stable.version}-bin.tar.gz.asc
-shasum -a 512 unomi-${next.stable.version}-bin.tar.gz > 
unomi-${next.stable.version}-bin.tar.gz.sha512
-                </code></pre>
-              </li>
-              <li>
-                <pre class="alert alert-primary"><code>cd ..
-svn add ${next.stable.version}</code></pre>
-              </li>
-              <li>
-                <pre class="alert alert-primary"><code>svn commit -m "Apache 
${next.stable.version} Release (for PMC voting)"</code></pre>
+              <li>Launch the second stage of the release script
+                <pre class="alert alert-primary"><code>./release-stage-2.sh 
${next.stable.version} orgapacheunomi-NEXUS-UNOMI-ID</code></pre>
+                  where NEXUS-UNOMI-ID is the ID generated by Nexus
               </li>
                 <li>Send out to the Unomi mailing list a mail to start the 
voting process, see <a href="#mail-1">[1]</a></li>
                 <li>If the vote is refused or cancelled, peform the following 
steps to restart the release process:
@@ -359,17 +277,7 @@ git push</code></pre>
 
             <ol>
                 <li>
-                    In the `unomi` project, on the master, branch, make sure 
that you have a archive for the current
-                    branch in the `manual/src/archives` directory. If not, 
create one with the current main version and
-                    copy the contents of `manual/src/main` into the newly 
created directory. Make sure you add all the
-                    files to the git repository.
-                </li>
-                <li>
-                    Modify the `generate-site.sh` and 
`generate-site-and-upload.sh` if needed to add the new version
-                    you added in the previous step.
-                </li>
-                <li>
-                    Launch <pre class="alert 
alert-primary"><code>./generate-site.sh</code></pre> from the project's
+                    Launch <pre class="alert 
alert-primary"><code>./generate-site.sh ${doc.version} 
${next.stable.version}</code></pre> from the project's
                     root directory.
                 </li>
               <li>Check the generated site by opening 
<code>target/staging/manual/index.html</code>
@@ -377,23 +285,8 @@ git push</code></pre>
               </li>
               <li>
                 Upload the site modification by using:
-                <pre class="alert 
alert-primary"><code>./generate-site-and-upload.sh APACHE_LDAP_USERNAME 
APACHE_LDAP_PASSWORD</code></pre>
+                <pre class="alert 
alert-primary"><code>./generate-site-and-upload.sh ${doc.version} 
${next.stable.version} APACHE_LDAP_USERNAME APACHE_LDAP_PASSWORD</code></pre>
               </li>
-                <li>
-                    You will now need to publish the new version of the manual 
as downloadable resources
-                    <pre class="alert alert-primary"><code>cd manual
-cd target
-svn co https://dist.apache.org/repos/dist/release/unomi/${next.stable.version}
-mv unomi-manual-${doc.version}.pdf ${next.stable.version}
-mv unomi-manual-${doc.version}.pdf.asc ${next.stable.version}
-mv unomi-manual-${doc.version}.zip ${next.stable.version}
-mv unomi-manual-${doc.version}.pdf.sha512 ${next.stable.version}
-mv unomi-manual-${doc.version}.zip.asc ${next.stable.version}
-mv unomi-manual-${doc.version}.zip.sha512 ${next.stable.version}
-cd ${next.stable.version}
-svn add unomi-manual*
-svn commit -m "Update Unomi manual packages"</code></pre>
-                </li>
                 <li>
                     Go back to the site project and make sure you update the 
documentation page to link to the proper
                     versions of the documents.

Reply via email to