Checklist of tasks to perform for each release. For general information about Apache releases you may also consult Publishing Maven Releases.
- You need to add your GPG keys in Subversion and the Apache site before a release. The SVN is read-only in general but the KEYS file can be committed. Change the KEYS file as it will be copied to the Apache site.
- Ensure that all open bugs and issues in Jira have been either fixed or moved to another 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>
- Ensure that there is no dependency with a SNAPSHOT version (e.g. for checkstyle-rules).
- Perform basic checks on an unmodified checkout for all modules. Use JDK 17 or higher for all builds.
mvn clean install && mvn checkstyle:check apache-rat:check dependency-check:check
- 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 (check also version in comment)
- Release.java (don't add new SNAPSHOT version)
- ApiController.java
- Prepare the release with (the release-plugin make use of
the 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 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
- Release.java (add new SNAPSHOT version)
Close the repository on the Nexus instance for staging (you will receive a mail with the staging location).
- 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
[ ] +0
[ ] -1Regards,
<name> - For a positive result wait at least 72 hours.
- Once a vote is successful, post the result to the dev list. If the result mail should also count as a vote, add a "this email counts as my binding +1". To make it even clearer, also send a standard +1 voting mail.
- Release the version in Jira and close all resolved issues for the release.
- Release and drop the staging repository on the Nexus 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. Full version name is "tobago-{VERSION}".
- Update myfaces-homepage repository
- Checkout: https://github.com/apache/myfaces-homepage.git
- Update the next SNAPSHOT version on tobago-demo.apache.org.
- Edit versions in:
- tobago/tobago-vm/apache-proxy/index.html
- tobago/tobago-vm/docker-compose.yml
- Edit versions in:
- Updating Tag Library Documentation (TLD).
- generate in myfaces-tobago folder with:
mvn clean package -Pgenerate-assembly
- Copy from "myfaces-tobago/tobago-core/target/tlddoc" to "myfaces-homepage/tobago/doc/{tobago-version}/tld"
- generate in myfaces-tobago folder with:
- Updating "tobago.md" and "tobago-download.md".
- myfaces-homepage/tobago.md
- myfaces-homepage/tobago-download.md
- Commit and push: "Tobago {tobago-version} release"
- description:
* update demos * update TLDs * update readmes
- description:
- 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
- Remove old download artifacts from the site (see script ./drop-artifacts.sh). Older releases are automatic available in the archive.
- 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 .
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=<id-form-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