You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by hn...@apache.org on 2024/03/22 07:14:04 UTC
(myfaces-tobago) branch tobago-5.x updated: refactor: convert release checklist to MD
This is an automated email from the ASF dual-hosted git repository.
hnoeth pushed a commit to branch tobago-5.x
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git
The following commit(s) were added to refs/heads/tobago-5.x by this push:
new f8d6222c03 refactor: convert release checklist to MD
f8d6222c03 is described below
commit f8d6222c0380994aee68e1f05efc7d1a724702d6
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Thu Mar 21 07:48:06 2024 +0100
refactor: convert release checklist to MD
---
RELEASE_CHECKLIST.md | 168 +++++++++
.../90-release-checklist => }/drop-artifacts.sh | 0
.../90-release-checklist => }/release-artifacts.sh | 0
.../90-release-checklist/Release_Checklist.xhtml | 375 ---------------------
4 files changed, 168 insertions(+), 375 deletions(-)
diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md
new file mode 100644
index 0000000000..413fc45380
--- /dev/null
+++ b/RELEASE_CHECKLIST.md
@@ -0,0 +1,168 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Release Checklist
+
+Checklist of tasks to perform for each release. For general information about Apache releases you may also consult
+[Publishing Maven Releases](http://infra.apache.org/maven-releases.html).
+
+## Preparation
+
+* You need to add your GPG keys in [Subversion](https://svn.apache.org/repos/asf/myfaces/keys/KEYS) and
+ the [Apache site](https://www.apache.org/dist/myfaces/KEYS) before a release. The SVN is read-only in general but the
+ KEYS file can be committed. Change the [KEYS](https://dist.apache.org/repos/dist/release/myfaces/KEYS) file as it will
+ be copied to the Apache site.
+* Ensure that all open bugs and issues in [Jira](https://issues.apache.org/jira/browse/TOBAGO) have been either fixed or
+ moved to an other release version.
+* Ensure that all examples are working with the release candidate.
+* Since Tobago 5: Ensure that the Skript ./test-scenarios-locally.sh runs sucessfully.
+* Check the scheduled version number against "semantic versioning".
+* Post a note and ask for problems with the release candidate.
+ > Subject: [Tobago] Preparation for the <version> release
+ >
+ > Hi folks,
+ >
+ > we plan to build version <version> of Tobago soon. If you know any blocking problems with the current SNAPSHOT,
+ > give me a hint.
+ >
+ > Regards,
+ > <name>
+* Perform basic checks on an unmodified checkout for all modules. Use JDK 8 or higher for Tobago 2, 4 and 5. Since
+ Tobago 6, use JDK 11 or higher.
+ ```
+ mvn clean install && mvn checkstyle:check apache-rat:check animal-sniffer:check dependency-check:check
+ ```
+
+## Building the Release
+
+* Do not use your forked repository for the following steps to keep the history of the release process.
+* Commit: "chore(release): prepare" - check version info in these files manually (set to release version without
+ SNAPSHOT suffix):
+ * package.json
+ * package-lock.json
+ * package-info.java
+ * Release.java
+ * ApiController.java
+* Prepare the release with (the release-plugin make use of
+ the [maven-gpg-plugin](https://maven.apache.org/plugins/maven-gpg-plugin/)):
+ ```
+ mvn release:prepare
+ ```
+* Make sure "apache.snapshots.https" and "apache.releases.https" servers are configured in settings.xml. Have a look
+ at [Publishing Maven Releases](https://infra.apache.org/publishing-maven-artifacts.html) for more information. Then
+ perform the release with:
+ ```
+ mvn release:perform
+ ```
+* Commit: "chore(release): set next SNAPSHOT version" - set next SNAPSHOT version in:
+ * package.json
+ * package-lock.json
+ * package-info.java
+
+## Staging repository
+
+_Close_ the repository on the [Nexus](https://repository.apache.org/) instance for staging (you will receive a mail with
+the staging location).
+
+## Voting
+
+* Propose a vote on the dev list with the staging location.
+ > Subject: [VOTE] Release Tobago <version>
+ >
+ > Hello,
+ >
+ > we would like to release Tobago <version>.
+ >
+ > For a detail list please consult the release notes at:
+ > https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310273&version=<id-form-jira>
+ >
+ > The version is available at the staging repository (Nexus) at:
+ > https://repository.apache.org/content/repositories/orgapachemyfaces-<id-from-nexus>/
+ >
+ > Source (sha-256 <value>):
+ > https://repository.apache.org/content/repositories/orgapachemyfaces-<id-from-nexus>/org/apache/myfaces/tobago/tobago/<version>/tobago-<version>-source-release.zip
+ >
+ > Please vote now! (The vote is open for 72h.)
+ >
+ > [ ] +1<br/>
+ > [ ] +0<br/>
+ > [ ] -1
+ >
+ > Regards,<br/>
+ > <name>
+* For a positive result wait at least 72 hours.
+* Once a vote is successful, post the result to the dev list.
+
+## Publishing
+
+* _Release_ the version in [Jira](https://issues.apache.org/jira/) and close all resolved issues for the release.
+* _Release_ and drop the staging repository on the [Nexus](https://repository.apache.org/) instance.
+* Copy the download artifacts from the repository to the site (see script ./release-artifacts.sh)
+* Add the release version and date to
+ the [Apache Committee Report Helper](https://reporter.apache.org/addrelease.html?myfaces).
+ Full version name is "tobago-{VERSION}".
+* Update the next SNAPSHOT version on tobago-demo.apache.org
+ * Checkout:
+ * https://github.com/apache/myfaces-homepage.git
+ * Edit versions in:
+ * tobago/tobago-vm/apache-proxy/index.html
+ * tobago/tobago-vm/docker-compose.yml
+* Update the site
+ * Updating the release and version information in other branches, e. g.:
+ * tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Release.java
+ * Updating Tag Library Documentation (TLD)
+ * generate in myfaces-tobago folder with:<br/>
+ ```
+ mvn clean package -Pgenerate-assembly
+ ```
+ * Copy from "myfaces-tobago/tobago-core/target/tlddoc" to "myfaces-homepage/tobago/doc/{tobago-version}/tld"
+ * Commit and push: "docs: TLD docs for Tobago release {tobago-version}"
+ * Updating "tobago.md" and "tobago-download.md" in the MyFaces homepage project "myfaces-homepage".
+ * myfaces-homepage/tobago.md
+ * myfaces-homepage/tobago-download.md
+* Remove old download artifacts from the site (see script ./drop-artifacts.sh). Older releases are automatic available
+ in the [archive](http://archive.apache.org/dist/myfaces/).
+* Remove old snapshots in the maven snapshot repository. This is done automatically, it is only needed, when there are
+ dead development ends, e. g. last alpha or beta version like 3.0.0-beta-2-SNAPSHOT which will no longer developed.
+* Create and send announcement
+ > Subject: [ANNOUNCE] Apache Tobago <version> released
+ >
+ > The Apache MyFaces team is pleased to announce the release of Apache Tobago <version>.
+ >
+ > Apache Tobago is a component library for JavaServer Faces (JSF) that allows to write web-applications without the
+ need of coding HTML, CSS and JavaScript.
+ >
+ > Main new features<br/>
+ > ​-----------------<br/>
+ > <list of main new features here or remove this section>
+ >
+ > Changes<br/>
+ > ​-------<br/>
+ > Please check the release notes
+ at https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310273&version=<id-form-jira> for a full list
+ of the changes in this version.
+ >
+ > Known limitations and bugs<br/>
+ > ​--------------------------<br/>
+ > <add main limitations and known bugs here or remove this section>
+ >
+ > For more information about Apache Tobago, please visit https://myfaces.apache.org/#/tobago.
+ >
+ > Have fun,
+ > -The MyFaces team
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/90-release-checklist/drop-artifacts.sh b/tobago-example/tobago-example-demo/drop-artifacts.sh
similarity index 100%
rename from tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/90-release-checklist/drop-artifacts.sh
rename to tobago-example/tobago-example-demo/drop-artifacts.sh
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/90-release-checklist/release-artifacts.sh b/tobago-example/tobago-example-demo/release-artifacts.sh
similarity index 100%
rename from tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/90-release-checklist/release-artifacts.sh
rename to tobago-example/tobago-example-demo/release-artifacts.sh
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/90-release-checklist/Release_Checklist.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/90-release-checklist/Release_Checklist.xhtml
deleted file mode 100644
index 7c80e2af95..0000000000
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/90-release-checklist/Release_Checklist.xhtml
+++ /dev/null
@@ -1,375 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-
-<ui:composition template="/main.xhtml"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
- xmlns:f="http://xmlns.jcp.org/jsf/core"
- xmlns:tc="http://myfaces.apache.org/tobago/component"
- xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
-
- <tc:section label="Developer Info">
-
- <tc:section label="Step by Step">
-
- Checklist of tasks to perform for each release. For general information about Apache releases you may also consult
- <tc:link label="Publishing Maven Releases" link="http://infra.apache.org/maven-releases.html"
- image="bi-box-arrow-up-right"/>.
-
- <tc:section label="Preparation">
-
- <ul>
- <li>You need to add your GPG keys in <tc:link label="Subversion"
- link="https://svn.apache.org/repos/asf/myfaces/keys/KEYS"
- image="bi-box-arrow-up-right"/>
- and the <tc:link label="Apache site" link="https://www.apache.org/dist/myfaces/KEYS"
- image="bi-box-arrow-up-right"/> before a release.
- The SVN is read-only in general but the KEYS file can be committed.
- Change the <tc:link label="KEYS" link="https://dist.apache.org/repos/dist/release/myfaces/KEYS"
- image="bi-box-arrow-up-right"/> file as it will be copied to the Apache site.
- </li>
-
- <li>Ensure that all open bugs and issues in
- <tc:link label="Jira"
- link="https://issues.apache.org/jira/issues/"
- image="bi-box-arrow-up-right">
- <f:param name="jql" value="project = TOBAGO AND fixVersion = #{apiController.releases[0].version}"/>
- </tc:link>
- have been either fixed
- or moved to an other release version.
- </li>
-
- <li>Ensure that all examples are working with the release candidate.
- </li>
-
- <li>Since Tobago 5: Ensure that the Skript ./test-scenarios-locally.sh runs sucessfully.
- </li>
-
- <li>Check the scheduled version number against "semantic versioning".
- </li>
-
- <li>
- <tc:link label="Post a note" omit="true" image="bi-info-lg">
- <tc:operation name="show" for="preparation-email"/>
- </tc:link>
- and ask for problems with the release candidate.
- <tc:popup markup="large" collapsedMode="hidden" id="preparation-email">
- <tc:box label="Preparation email">
- <f:facet name="bar">
- <tc:button image="bi-x-lg" tip="Close" omit="true">
- <tc:operation name="hide" for="preparation-email"/>
- </tc:button>
- </f:facet>
- <i>Replace the variable part <sender-name></i>.
- <tc:separator/>
- <c:set var="subject" value="[Tobago] Preparation for the #{apiController.releases[0].version} release"/>
- <c:set var="content"
- value="Hi, folks,
-

-
we plan to build version #{apiController.releases[0].version} of Tobago soon.
-

-
If you know any blocking problems with the current SNAPSHOT, give me a hint.
-

-
Regards,
-
<sender-name>"/>
- <demo-highlight>Subject: ${subject}
-
-${content}
-</demo-highlight>
- <tc:separator/>
- <tc:button
- label="Create email"
- defaultCommand="true"
- link="mailto:MyFaces Development <dev@myfaces.apache.org>"
- image="bi-box-arrow-up-right">
- <f:param name="subject" value="${subject}"/>
- <f:param name="body" value="${content}"/>
- </tc:button>
- </tc:box>
- </tc:popup>
- </li>
-
- <li>for Tobago 2.x and higher use jdk 1.8 or higher.</li>
-
- <li>Perform basic checks on an unmodified checkout for all modules:
-
- <demo-highlight language="bash"># for Tobago 2.x, 4.x and higher
-$ mvn clean install && mvn checkstyle:check apache-rat:check animal-sniffer:check dependency-check:check
-</demo-highlight>
- </li>
- </ul>
- </tc:section>
-
- <tc:section label="Building the Release">
- <ul>
- <li>Do not use your forked repository for the following steps to keep the history of the release process.</li>
- <li>Commit: "chore(release): prepare"
- <ul>
- <li>Check version info in these files manually (set to release version without SNAPSHOT suffix):
- <demo-highlight>package.json
-package-lock.json
-package-info.java
-Release.java
-ApiController.java</demo-highlight>
- </li>
- </ul>
- </li>
- <li>Prepare the release with:
- <demo-highlight language="bash">$ mvn release:prepare</demo-highlight>
- The release-plugin make use of the
- <tc:link label="maven-gpg-plugin" link="https://maven.apache.org/plugins/maven-gpg-plugin/"
- image="bi-box-arrow-up-right"/>.
- </li>
- <li>Make sure "apache.snapshots.https" and "apache.releases.https" servers are configured in settings.xml.
- Have a look at <tc:link label="Publishing Maven Releases"
- link="https://infra.apache.org/publishing-maven-artifacts.html"
- image="bi-box-arrow-up-right"/> for more information.
- Then perform the release with:
- <demo-highlight language="bash">$ mvn release:perform</demo-highlight>
- </li>
- <li>Set next SNAPSHOT version in:
- <demo-highlight>package.json
-package-lock.json
-package-info.java</demo-highlight>
- and commit: "chore(release): set next SNAPSHOT version"
- </li>
- </ul>
- </tc:section>
-
- <tc:section label="Staging repository">
- <ul>
- <li><i>Close</i> the repository on the <tc:link label="Nexus" link="https://repository.apache.org/"
- image="bi-box-arrow-up-right"/> instance for staging (you will receive a mail with the staging location).
- </li>
- </ul>
- </tc:section>
-
- <tc:section label="Voting">
- <ul>
- <li>Propose a
- <tc:link label="vote on the dev list" omit="true" image="bi-info-lg">
- <tc:operation name="show" for="vote-email"/>
- </tc:link> with the staging location.
- <tc:popup markup="large" collapsedMode="hidden" id="vote-email">
- <tc:box label="Voting email">
- <f:facet name="bar">
- <tc:button image="bi-x-lg" tip="Close" omit="true">
- <tc:operation name="hide" for="vote-email"/>
- </tc:button>
- </f:facet>
- <i>Replace the variable part <sender-name>, <insert-list>, <use-one-of>, <a>, <b>or, <c>, <id-from-nexus></i>.
- <tc:separator/>
- <c:set var="subject" value="[VOTE] Release Tobago #{apiController.releases[0].version}"/>
- <c:set var="content"
- value="Hello,
-

-
We would like to release Tobago #{apiController.releases[0].version}.
-

-
Major changes since last release are:
-

-
<insert-list>
-

-
<use-one-of>
-
<a> This is a MAJOR release and may contain incompatible API changes.
-
<b> This is a MINOR release with new functionality in a backwards-compatible manner.
-
<c> This is a PATCH release with backwards-compatible bug fixes.
-

-
For a detail list please consult the release notes at:
-

-
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310273&version=#{apiController.releases[0].jira}
-

-
The version is available at the staging repository (Nexus) at:
-

-
https://repository.apache.org/content/repositories/orgapachemyfaces-<id-from-nexus>/
-

-

-
 TODO: insert Link and SHA-1 of the sources
-

-

-
Please vote now! (The vote is open for 72h.)
-

-
[ ] +1
-
[ ] +0
-
[ ] -1
-

-
Regards,
-
<sender-name>"/>
- <demo-highlight>Subject: ${subject}
-
-${content}</demo-highlight>
- <tc:separator/>
- <tc:button
- label="Create email"
- defaultCommand="true"
- link="mailto:MyFaces Development <dev@myfaces.apache.org>"
- image="bi-pencil">
- <f:param name="subject" value="${subject}"/>
- <f:param name="body" value="${content}"/>
- </tc:button>
- </tc:box>
- </tc:popup>
- </li>
-
- <li>For a positive result wait at least 72 hours.
- </li>
-
- <li>Once a vote is successful, post the result to the dev list.
- </li>
- </ul>
- </tc:section>
-
- <tc:section label="Publishing">
- <ul>
- <li><i>Release</i> the version in <tc:link label="Jira" link="https://issues.apache.org/jira/"
- image="bi-box-arrow-up-right"/> and close all resolved issues for the release.
- </li>
-
- <li><i>Release</i> and drop the staging repository on the <tc:link label="Nexus" link="https://repository.apache.org/"
- image="bi-box-arrow-up-right"/> instance.
- </li>
-
- <li>Copy the download artifacts from the repository to the site (see script
- <tc:link label="release-artifacts.sh" link="./release-artifacts.sh" image="bi-download"/>).
- </li>
-
- <li>Add the release version and date to the <tc:link label="Apache Committee Report Helper"
- link="https://reporter.apache.org/addrelease.html?myfaces"
- image="bi-box-arrow-up-right"/>.
- Full version name is "tobago-{VERSION}".
- </li>
-
- <li>Update the next SNAPSHOT version on tobago-demo.apache.org
- <ul>
- <li>Checkout: <demo-highlight language="bash">https://github.com/apache/myfaces-homepage.git</demo-highlight></li>
- <li>Edit versions in <demo-highlight language="bash">tobago/tobago-vm/apache-proxy/index.html</demo-highlight>
- and <demo-highlight language="bash">tobago/tobago-vm/docker-compose.yml</demo-highlight></li>
- </ul>
- </li>
-
- <li>Update the site
-
- <ul>
- <li>Updating the release and version information in other branches, e. g.:
- <demo-highlight language="bash">tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Release.java</demo-highlight>
- </li>
-
- <li>Updating Tag Library Documentation (TLD)
- <ul>
- <li>generate in myfaces-tobago folder with: <demo-highlight language="bash">mvn clean package -Pgenerate-assembly</demo-highlight></li>
- <li>Copy from 'myfaces-tobago/tobago-core/target/tlddoc' to 'myfaces-homepage/tobago/doc/{tobago-version}/tld'</li>
- <li>Commit and push ("docs: TLD docs for Tobago release {tobago-version}")</li>
- </ul>
- </li>
-
- <li>Updating 'tobago.md' and 'tobago-download.md' in the MyFaces homepage project 'myfaces-homepage'.:
- <demo-highlight language="bash">myfaces-homepage/tobago.md
-myfaces-homepage/tobago-download.md</demo-highlight>
- </li>
- </ul>
- </li>
-
- <li>Remove old download artifacts from the site (see script
- <tc:link label="drop-artifacts.sh" link="./drop-artifacts.sh" image="bi-download"/>).
- Older releases are automatic available in the <tc:link label=" archive"
- link="http://archive.apache.org/dist/myfaces/"
- image="bi-box-arrow-up-right"/>.
- </li>
-
- <li>Remove old snapshots in the maven snapshot repository. This is done automatically, it is only needed, when
- there are dead development ends, e. g. last alpha or beta version like 3.0.0-beta-2-SNAPSHOT which
- will no longer developed.
- </li>
-
- <li>
- <tc:link label="Create and send announcement" omit="true" image="bi-info-lg">
- <tc:operation name="show" for="announcement-email"/>
- </tc:link>.
- <tc:popup markup="large" collapsedMode="hidden" id="announcement-email">
- <tc:box label="Announcement email">
- <f:facet name="bar">
- <tc:button image="bi-x-lg" tip="Close" omit="true">
- <tc:operation name="hide" for="announcement-email"/>
- </tc:button>
- </f:facet>
- <i>Replace the variable parts <edit-me></i>.
- <tc:separator/>
- <c:set var="subject" value="[ANNOUNCE] Apache Tobago #{apiController.releases[0].version} released"/>
- <c:set var="content"
- value="The Apache MyFaces team is pleased to announce the release of Apache
-
Tobago <version>.
-

-
Apache Tobago is a component library for JavaServer Faces (JSF) that
-
allows to write web-applications without the need of coding HTML, CSS
-
and JavaScript
-

-
Main new features
-
-----------------
-

-
<list of main new features here or remove this section>
-

-
Changes
-
-------
-

-
Please check the release notes at
-
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310273&version=#{apiController.releases[0].jira}
-
for a full list of the changes in this version.
-

-
Known limitations and bugs
-
--------------------------
-

-
<add main limitations and known bugs here or remove this section>
-

-
For more information about Apache Tobago, please visit
-
https://myfaces.apache.org/#/tobago/.
-

-
Have fun,
-
-The MyFaces team"/>
- <demo-highlight>Subject: ${subject}
-
-${content}</demo-highlight>
- <tc:separator/>
- <p>
- For all versions send to MyFaces Discussion list. Only for major versions send to Apache Announces list.
- </p>
- <tc:button
- label="Create email for any version"
- defaultCommand="true"
- link="mailto:MyFaces Discussion <users@myfaces.apache.org>"
- image="bi-pencil">
- <f:param name="subject" value="${subject}"/>
- <f:param name="body" value="${content}"/>
- </tc:button>
- <tc:button
- label="Create email for major version"
- defaultCommand="true"
- link="mailto:MyFaces Announces <announce@apache.org>"
- image="bi-pencil">
- <f:param name="subject" value="${subject}"/>
- <f:param name="body" value="${content}"/>
- </tc:button>
- </tc:box>
- </tc:popup>
- </li>
- </ul>
- </tc:section>
- </tc:section>
-
- </tc:section>
-
-</ui:composition>