6.3. METviewer Development Release

Create a new vX.Y.Z-betaN or vX.Y.Z-rcN development release from the develop branch while working toward an official vX.Y.Z release.

6.3.1. Open Release Issue

  • Define a new issue in the METviewer repository to create the new release.

    • “Create the METviewer vX.Y.Z release” for an official or bugfix release.

    • “Create the METviewer vX.Y.Z-betaN (or -rcN) release” for a development release.

  • For an official or development release, assign the issue to the current METviewer development project.

  • For a bugfix release, assign the issue to the organization level support project.

  • Select the target milestone.

6.3.2. Clone the Project Repository

  • Create and work in a new directory to ensure a fresh environment:

mkdir release-X.Y.Z
cd release-X.Y.Z
  • Run the clone command to obtain the repository.

Using SSH:

git clone git@github.com:dtcenter/METviewer

Using HTTP:

git clone https://github.com/dtcenter/METviewer
  • Enter the project repository directory:

cd METviewer

6.3.3. Checkout the Develop Branch

  • Checkout the develop branch:

git checkout develop

6.3.4. Create Release Feature Branch

  • Create a feature branch in which to update the version number and add release notes being sure to include the GitHub issue number for the new release.

git checkout -b feature_NNNN_vX.Y.Z       # for an official or bugfix release
git checkout -b feature_NNNN_vX.Y.Z-betaN # for a development release
git checkout -b feature_NNNN_vX.Y.Z-rcN   # for a development release

6.3.5. Update Version Number for Release

Create the version number

  • In the METviewer/docs/version file, assign the version to the ‘__version__’ keyword

  • In the METviewer/build.xml file, assign the version in the ‘dist’ target

  • In the METviewer/vebapp/metviewer/metviewer1.jsp file, assign the version to <div id=’release’> and <title>

  • We are naming releases with X.Y.Z format even if Z is 0.

  • In the develop branch, the version should match the upcoming release like X.Y.Z-betaN

6.3.6. Update Release Notes

You can refer to the GitHub Issues page to see what has changed for this release. Open the following URL in a browser:

https://github.com/dtcenter/METviewer/issues
  • Click on the Projects tab and select the project (under Repository) that corresponds to the release you are creating.

  • Update the release-notes.rst file found in the User’s Guide directory.

  • If you are creating a beta1 release, remove the previous version’s release notes, i.e. for 3.0.0-beta1, remove all 2.Y.Z notes and start a 3.0.0 section with the format “Version X.Y.Z release notes (YYYYMMDD)”.

  • If you are creating a betaX release, add a new betaX section above the betaX-1 release.

  • Commit changes and push to GitHub.

6.3.7. Merge Release Issue

  • After updating the version number and release notes on a release feature branch, submit a pull request to merge those changes back into the source branch.

6.3.8. Create Release on GitHub

  • Go to Releases on GitHub and click ‘Draft a new release’

  • Set the tag based on the version, starting with ‘v’, i.e. vX.Y.Z-betaN, vX.Y.Z-rcN, or vX.Y.Z

  • Set the branch value to ‘develop’ for a development release or ‘main_vX.Y’ for a bugfix or official release

  • Choose a release name (i.e. METviewer-X.Y.Z-betaN, METviewer-X.Y.Z-rcN, or METviewer-X.Y.Z)

  • Add a link to the release notes from the METviewer User’s Guide

  • Attach a PDF of the METviewer User’s Guide, if available

  • If this is a development release, check the box that says “This is a pre-release”

  • Click on “Publish release”.

6.3.9. Update DTC Website

  • Navigate to the downloads page for the METviewer repository at www.dtcenter.org.

  • Sign in to the Drupal interface and edit the Downloads page.

  • Create a new Software Release for the newly released version by clicking on Add New Release.

    • For Full Title of Release type “METviewer Version X.Y.Z”.

    • For Related Community Code select both the METplus and the METviewer options (use shift to select).

    • For Version Label type “METviewer X.Y.Z betaN”.

    • Select the release type (Recommended for official or bugfix releases or Development for development versions). If necessary, change previously Recommended versions to Other.

    • Enter the release date.

    • Click on Add Code Download then click Add Link to add links for each of the following:

      • Add Link: Link text should be the name of the release and the URL should be the release page that was just created under the GitHub Releases tab.

      • Add Link: Link text should be “User’s Guide” and the URL should be the top level directory of the User’s Guide hosted on the web.

      • Add Link: Link text should be “Existing Builds and Docker” and the URL should be the latest Existing Builds page, i.e. https://dtcenter.org/community-code/metplus/metplus-4-0-existing-builds (If creating a new official release, be sure to add a new Existing Builds and Docker page, if one was not already created.)

    • Inside the text box in the “Release Notes” section provide a direct link to the release-notes.html file in the User’s Guide.

    • Click on “Create Release”.

    • Click on “Save”.

6.3.10. Finalize Release on GitHub

  • Close the GitHub issue for creating this development release.

  • Edit the development project name for the current release to indicate the actual release date.

  • Review the remaining development projects, and if neccessary, add new ones.

  • If necessary, reassign any remaining issues from the current development project to the next one.

  • Close the development project for the current release.

6.3.11. Update Version on Develop Branch

Change METviewer/docs/version __version__ value to the next release after this one with -dev added to the end. Releases will loosely following these names, but are subject to change:

Release Version

New Develop Version

X.Y.Z-beta1

X.Y.Z-beta2-dev

X.Y.Z-beta2

X.Y.Z-beta3-dev

X.Y.Z-beta3

X.Y.Z-rc1-dev

X.Y.Z-rc1

X.Y.Z-dev

X.Y.Z

(X+1).0.0-beta1-dev