Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature 673 release guide #713

Merged
merged 21 commits into from
Dec 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
2522950
Adding infrastructure for Release Guide
jprestop Oct 27, 2020
a4d6ad7
created some release steps pages and added some instructions to the M…
georgemccabe Oct 29, 2020
86f5227
updated format
georgemccabe Oct 29, 2020
f001593
updated css so that parsed-literal blocks look the same at other blocks
georgemccabe Oct 29, 2020
c0b83f7
filled out content of METplus release instructions from wiki
georgemccabe Oct 29, 2020
27d5e77
removed unused file
georgemccabe Oct 29, 2020
9ad1cce
fixed table formatting
georgemccabe Oct 29, 2020
fae7cde
removed all details tags to remove expanded text
georgemccabe Oct 29, 2020
b081d70
Added documentation to update the Quick Search links
jprestop Nov 5, 2020
cecf82c
added -release to build_docs.py call to update release date file for …
georgemccabe Nov 10, 2020
e3bb092
Merge branch 'develop' into feature_673_release_guide
georgemccabe Nov 12, 2020
e5fff86
clean up formatting
georgemccabe Nov 12, 2020
303b35a
Per 673, work on met bugfix release instructions. This is a work in p…
JohnHalleyGotway Nov 18, 2020
e7ea141
Per #673, be sure to list the release date in conf.py.
JohnHalleyGotway Nov 18, 2020
f60d52f
Per #673, met bugfix release steps work in progress.
JohnHalleyGotway Nov 18, 2020
eeddea3
Per #673, finalize instructions for MET bugfix release.
JohnHalleyGotway Nov 18, 2020
b0e38cd
Merge branch 'develop' into feature_673_release_guide
georgemccabe Dec 3, 2020
a8a91de
updated docs to use X.Y.Z for version even if Z is 0
georgemccabe Dec 3, 2020
b6d7ec3
changed main_X.Y.Z back to main_X.Y
georgemccabe Dec 3, 2020
7b4ea77
changed main_X.Y-betaN to main_X.Y
georgemccabe Dec 3, 2020
86883cd
added .Z
georgemccabe Dec 3, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions docs/Release_Guide/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@


=============
Release Guide
=============


The introduction can be put on this index.rst page, otherwise there won't be
much content on this page.

This document will describe the process for creating a METplus release and
consist of up to seven chapters:


.. toctree::
:titlesonly:
:numbered: 4

metplus
met
metdatadb
metcalcpy
metplotpy
metviewer
metexpress



Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
27 changes: 27 additions & 0 deletions docs/Release_Guide/met.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
***********
MET Release
***********

.. |projectRepo| replace:: MET

Official release (e.g. vX.Y)
============================

Bugfix release (e.g. vX.Y.Z)
============================

.. include:: release_steps/open_release_issue.rst
.. include:: release_steps/clone_project_repository.rst
.. include:: release_steps/checkout_main_branch.rst
.. include:: release_steps/met/update_bugfix_version.rst
.. include:: release_steps/update_release_notes.rst
.. include:: release_steps/merge_release_issue.rst
.. include:: release_steps/create_release_on_github.rst
.. include:: release_steps/met/build_release_tarfile.rst
.. include:: release_steps/update_dtc_website.rst
.. include:: release_steps/close_release_issue.rst
.. include:: release_steps/met/update_docs.rst

Development release (e.g. vX.Y-betaN or vX.Y-rcN)
=================================================

20 changes: 20 additions & 0 deletions docs/Release_Guide/metcalcpy.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
*****************
METcalcpy Release
*****************

.. |projectRepo| replace:: METcalcpy

Official release (e.g. vX.Y)
============================

.. include:: release_steps/clone_project_repository.rst

Bugfix release (e.g. vX.Y.Z)
============================

.. include:: release_steps/clone_project_repository.rst

Development release (e.g. vX.Y-betaN or vX.Y-rcN)
=================================================

.. include:: release_steps/clone_project_repository.rst
21 changes: 21 additions & 0 deletions docs/Release_Guide/metdatadb.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
*****************
METdatadb Release
*****************

.. |projectRepo| replace:: METdatadb

Official release (e.g. vX.Y)
============================

.. include:: release_steps/clone_project_repository.rst

Bugfix release (e.g. vX.Y.Z)
============================

.. include:: release_steps/clone_project_repository.rst

Development release (e.g. vX.Y-betaN or vX.Y-rcN)
=================================================

.. include:: release_steps/clone_project_repository.rst

20 changes: 20 additions & 0 deletions docs/Release_Guide/metexpress.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
******************
METexpress Release
******************

.. |projectRepo| replace:: METexpress

Official release (e.g. vX.Y)
============================

.. include:: release_steps/clone_project_repository.rst

Bugfix release (e.g. vX.Y.Z)
============================

.. include:: release_steps/clone_project_repository.rst

Development release (e.g. vX.Y-betaN or vX.Y-rcN)
=================================================

.. include:: release_steps/clone_project_repository.rst
20 changes: 20 additions & 0 deletions docs/Release_Guide/metplotpy.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
******************
METploypy Release
******************

.. |projectRepo| replace:: METploypy

Official release (e.g. vX.Y)
============================

.. include:: release_steps/clone_project_repository.rst

Bugfix release (e.g. vX.Y.Z)
============================

.. include:: release_steps/clone_project_repository.rst

Development release (e.g. vX.Y-betaN or vX.Y-rcN)
=================================================

.. include:: release_steps/clone_project_repository.rst
47 changes: 47 additions & 0 deletions docs/Release_Guide/metplus.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
***************
METplus Release
***************

.. |projectRepo| replace:: METplus

Official release (e.g. vX.Y.0)
==============================

.. include:: release_steps/clone_project_repository.rst
.. include:: release_steps/checkout_develop_branch.rst
.. include:: release_steps/metplus/update_version_official.rst
.. include:: release_steps/review_release_notes.rst
.. include:: release_steps/metplus/update_docs_tagged.rst
.. include:: release_steps/metplus/update_docker_build_hook.rst
.. include:: release_steps/create_release_branch.rst
.. include:: release_steps/metplus/update_readme.rst
.. include:: release_steps/push_release_branch.rst
.. include:: release_steps/create_release_on_github.rst
.. include:: release_steps/metplus/create_release_extra.rst
.. include:: release_steps/change_default_branch.rst
.. include:: release_steps/metplus/update_version_on_develop.rst

Bugfix release (e.g. vX.Y.Z)
============================

.. include:: release_steps/clone_project_repository.rst
.. include:: release_steps/checkout_main_branch.rst
.. include:: release_steps/metplus/update_version.rst
.. include:: release_steps/metplus/update_docs_bugfix.rst
.. include:: release_steps/create_release_on_github.rst
.. include:: release_steps/metplus/create_release_extra.rst

Development release (e.g. vX.Y.Z-betaN or vX.Y.Z-rcN)
=====================================================

.. include:: release_steps/clone_project_repository.rst
.. include:: release_steps/checkout_develop_branch.rst
.. include:: release_steps/metplus/update_version.rst
.. include:: release_steps/update_release_notes.rst
.. include:: release_steps/metplus/update_docs_develop.rst
.. include:: release_steps/metplus/update_docker_build_hook.rst
.. include:: release_steps/create_release_branch.rst
.. include:: release_steps/push_release_branch.rst
.. include:: release_steps/create_release_on_github.rst
.. include:: release_steps/metplus/create_release_extra.rst
.. include:: release_steps/metplus/update_version_on_develop.rst
20 changes: 20 additions & 0 deletions docs/Release_Guide/metviewer.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
*****************
METviewer Release
*****************

.. |projectRepo| replace:: METviewer

Official release (e.g. vX.Y)
============================

.. include:: release_steps/clone_project_repository.rst

Bugfix release (e.g. vX.Y.Z)
============================

.. include:: release_steps/clone_project_repository.rst

Development release (e.g. vX.Y-betaN or vX.Y-rcN)
=================================================

.. include:: release_steps/clone_project_repository.rst
11 changes: 11 additions & 0 deletions docs/Release_Guide/release_steps/change_default_branch.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Change Default Branch on GitHub
-------------------------------

Change the default branch to the new main_vX.Y branch:

.. parsed-literal::

https://github.com/dtcenter|projectRepo|
-> Settings
-> Branches (tab on left)
-> change the drop down to new branch
8 changes: 8 additions & 0 deletions docs/Release_Guide/release_steps/checkout_develop_branch.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Checkout the Develop Branch
---------------------------

Checkout the develop branch

.. parsed-literal::

git checkout develop
11 changes: 11 additions & 0 deletions docs/Release_Guide/release_steps/checkout_main_branch.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Checkout the Main Branch
------------------------

Checkout the main branch for the X.Y release. For example if you are creating
the |projectRepo|-3.1.1 bugfix release, checkout main_v3.1.

Example:

.. parsed-literal::

git checkout main_v3.1
37 changes: 37 additions & 0 deletions docs/Release_Guide/release_steps/clone_project_repository.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@


Clone the Project Repository
----------------------------

Create a fresh working directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Make a new directory to work in to ensure a fresh environment:

.. parsed-literal::

mkdir release-X.Y.Z
cd release-X.Y.Z

Clone the project repository
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Run the clone command to obtain the repository.

Using SSH:

.. parsed-literal::

git clone [email protected]:dtcenter/|projectRepo|

Using HTTP:

.. parsed-literal::

git clone https://github.com/dtcenter/|projectRepo|

Enter the project repository directory

.. parsed-literal::

cd |projectRepo|
8 changes: 8 additions & 0 deletions docs/Release_Guide/release_steps/close_release_issue.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Close Release Issue
-------------------

- Close the GitHub issue for creating this release.
- If necessary, create a new milestone for the next release (e.g. next vX.Y.Z (bugfix) release).
- If necessary, reassign any existing issues from the current to the next release.
- Edit the milestone for the current release by updating the *Due date* with the current date.
- Close the current milestone.
13 changes: 13 additions & 0 deletions docs/Release_Guide/release_steps/create_release_branch.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Create Release Branch
---------------------

Create a branch from the develop branch that corresponds to the release and
push the branch to GitHub. For release X.Y-betaN, run the following commands
(for bash, use setenv for first command if using csh)::

release_branch=main_vX.Y-betaN

cd METplus
git checkout develop
git pull
git checkout -b $release_branch
9 changes: 9 additions & 0 deletions docs/Release_Guide/release_steps/create_release_on_github.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Create Release on GitHub
------------------------

- Go to Releases on GitHub and click 'Draft a new release'
- Set tag based on version starting with 'v', i.e. vX.Y.Z, vX.Y.Z-betaN or v.X.Y.Z
- Set branch value to main_vX.Y
- Choose release name (i.e. |projectRepo|-X.Y.Z, |projectRepo|-X.Y.Z-betaN or |projectRepo|-X.Y.Z)
- Add release notes from User's Guide to notes section
- (Skip unless PDF of User's Guide is ready) Attach User's Guide PDF
4 changes: 4 additions & 0 deletions docs/Release_Guide/release_steps/merge_release_issue.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Merge Release Issue
-------------------

After updating the version number and release notes on a feature branch, submit a pull request to merge those changes back into the source branch.
11 changes: 11 additions & 0 deletions docs/Release_Guide/release_steps/met/build_release_tarfile.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Build Release Tarfile
---------------------

The MET software is distributed as a tarfile, but not the one created by GitHub. On a project machine (e.g. kiowa), clone the MET repository and run a script to build the tarfile for the newly tagged release.

.. parsed-literal::

git clone https://github.com/dtcenter/MET
met/scripts/met_checkout_and_build.sh tag vX.Y.Z

Edit the vX.Y.Z release on GitHub by uploading the resulting tar file (met-X.Y.Z.YYYYMMDD.tar.gz) as a release asset.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Update Bugfix Release Version Number
------------------------------------

- Create and work on a feature branch from the corresponding *main* branch (e.g. main_vX.Y) being sure to include the GitHub issue number for the new release (e.g. feature_NNNN_vX.Y.Z).
- Update the *met_version* variable in *met/src/basic/vx_util/util_constants.h* which defines the version number written to the MET output files.
- Update the *version*, *release_year*, and *release_date* variables in *met/docs/conf.py* which defines the version number for the documentation.
- Do *NOT* update the version number in the configuration files, add a new table file, or add a new test header file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Update Development Release Version Number
-----------------------------------------

- Work on a feature branch from the *develop* branch being sure to include the GitHub issue number for the new release (e.g. feature_NNNN_vX.Y.Z-betaN or feature_NNNN_vX.Y-rcN).
- Prior to creating the first development release (e.g. beta1) for a new version, the official release version number should have already been updated.
- If the official release version has not yet been updated (e.g. beta1), follow the official release instructions to do so.
- If the official release version has already been updated (e.g. beta2 and beyond), do the following:
- Update the *version*, *release_year*, and *release_date* variables in *met/docs/conf.py* which defines the version number for the documentation.
17 changes: 17 additions & 0 deletions docs/Release_Guide/release_steps/met/update_docs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Update the Documentation on the Web
-----------------------------------

- Regenerate the User's Guide and push the release to the gh-pages branch.
- For example, on kiowa:

.. parsed-literal::
git clone https://github.com/dtcenter/MET
cd MET/met/docs
git checkout vX.Y.Z
bash
conda deactivate
conda activate /home/met_test/.conda/envs/sphinx_env
make html
- Store resulting html output files in the correct sub-directory on the gh-pages branch.
13 changes: 13 additions & 0 deletions docs/Release_Guide/release_steps/met/update_official_version.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Update Official Release Version Number
--------------------------------------

- Create and work on a feature branch from the *develop* branch being sure to include the GitHub issue number for the new release (e.g. feature_NNNN_vX.Y).
- Update the *met_version* variable in *met/src/basic/vx_util/util_constants.h* which defines the version number written to the MET output files.
- Update the *version*, *release_year*, and *release_date* variables in *met/docs/conf.py* which defines the version number for the documentation.
- Update the version number in the locations listed above.
- Update the version number listed in the MET configuration files:
- Default configuration files in *met/data/config*.
- Sample configuration files in *met/scripts/config*.
- Test configuration files, searching recursively, in *test/config*.
- Add a new *met/data/table_files/met_header_columns_VX.Y.txt* defining the columns names for this version.
- Add a new *test/hdr/met_X_Y.hdr* file defining the column names for this version for the test scripts.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- Add link to dtcenter.ucar.edu/dfiles/code/METplus/METplus_Data and add a note to
instruct users to use sub-directory corresponding to this release, i.e. v4.0.0)

Loading