7.2. METexpress 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.
7.2.1. 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.
git clone email@example.com:dtcenter/METexpress
git clone https://github.com/dtcenter/METexpress
Enter the project repository directory:
7.2.2. Checkout the Development Branch
Checkout the development branch:
git checkout development
7.2.3. Create Development Feature Branch
Create a feature branch in which to perform any required development work.
git checkout -b feature_brief_description_of_work
Make desired code changes.
7.2.4. Merge Feature Branch
After making the desired code changes on a feature branch, submit a pull request to merge those changes back into the development branch.
7.2.5. Update DTC Website
Navigate to https://dtcenter.org and sign in to the Drupal interface.
Navigate to the downloads page for the METexpress repository at https://dtcenter.org/community-code/metplus/download
Click on the Edit button to 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 “METexpress Version X.Y.Z”.
For Related Community Code select both the METplus and the METexpress options (For Macs, hold the Command key to select both).
For Version Label type “METexpress X.Y.Z betaN”.
Select the release type (Recommended for official or bugfix releases or Development for development versions).
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. Beta releases can use “develop” in the URL, but for official releases, please ensure the link uses the branch name (e.g. main_vX.Y) as opposed to the tag name (e.g. vX.Y.Z). For example, use “https://metplus.readthedocs.io/en/main_vX.Y/Users_Guide/” and NOT “https://metplus.readthedocs.io/en/vX.Y.Z/Users_Guide/”
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-X-Y-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”.
Update the existing releases, as needed.
For a development release, change any previous Development versions to Other.
For a bugfix or official release, change any previous Recommended versions to Other.
For an official release, remove the corresponding development releases.
Create or edit the “Coordinated METplus Version X.Y” software release.
For a beta1 development release, create the “Coordinated METplus Version X.Y” release entry if it doesn’t already exist. Ensure the “Release Type” is set to Development. Add links for the METexpress X.Y.Z beta1, the METplus “Documentation”, the METplus “Existing Builds and Docker” page, and the “Release Notes”. Add to the Release Notes a link to the METexpress Release Notes.
For a beta2 or beyond development release, update the existing link and text in the “Coordinated METplus Version X.Y” release section with the updated development release information.
For an official release, update the existing link and text in the “Coordinated METplus Version X.Y” release section with the X.Y.Z information. Change the “Release Type” from Development to Recommended. Consider changing the “Release Type” of previous coordinated releases from Recommended to Other.
For a bugfix release, update the existing link and text in the “Coordinated METplus Version X.Y” release section with the X.Y.Z+1 information.
Make any other necessary website updates. For example, adding the User’s Guide to https://dtcenter.org/community-code/metexpress/documentation
Click on “Save”.
7.2.6. Finalize Release on GitHub
Close the GitHub issue for creating this development release.
Any code changes will be automatically incorporated into METexpress development container builds once the pull request is approved.