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 |