Skip to content

Latest commit

 

History

History
176 lines (162 loc) · 7.54 KB

RELEASE_CHECKLIST.md

File metadata and controls

176 lines (162 loc) · 7.54 KB

Release Checklist

Checklist of tasks to perform for each release. For general information about Apache releases you may also consult Publishing Maven Releases.

Preparation

  • 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
    

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 (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)

Staging repository

Close the repository on the Nexus instance for staging (you will receive a mail with the staging location).

Voting

Publishing

  • 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
    • 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"
    • 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
        
  • 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=&lt;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