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

Documentation: Update Truth Data instructions #2154

Merged
merged 5 commits into from
May 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
25 changes: 25 additions & 0 deletions .github/workflows/update_input_data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Update Input Test Data
on:
workflow_dispatch:
inputs:
branch:
description: 'Branch to update (default develop)'

jobs:
update_data_volumes:
name: Update Data Volumes
runs-on: ubuntu-latest
steps:
- uses: dtcenter/metplus-action-data-update@v2
with:
docker_name: ${{ secrets.DOCKER_USERNAME }}
docker_pass: ${{ secrets.DOCKER_PASSWORD }}
repo_name: ${{ github.repository }}
data_prefix: sample_data
branch_name: ${{ github.event.inputs.branch || 'develop' }}
docker_data_dir: /data/input/METplus_Data
data_repo_dev: metplus-data-dev
data_repo_stable: metplus-data
use_feature_data: true
tag_max_pages: 15

78 changes: 42 additions & 36 deletions docs/Contributors_Guide/add_use_case.rst
Original file line number Diff line number Diff line change
Expand Up @@ -882,6 +882,8 @@ chapter under
Pull Request Reviewer Instructions
==================================

.. _update-the-develop-data-directory:

Update the develop data directory
---------------------------------

Expand Down Expand Up @@ -1071,8 +1073,9 @@ then combine the two list items into a single item::

- "met_tool_wrapper:0-54"

Create a pull request from develop into develop-ref
---------------------------------------------------

Update the Truth Data
---------------------

The addition of a new use case results in new output data. When this happens,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

George, I realize that this section is about adding a new use case. But I do think its worth noting in some way that changes to existing use cases and bugfixes can also change the output. Feel free to use the wording below... or re-word it however you see fit.

Suggested change
The addition of a new use case results in new output data. When this happens,
The addition of a new use case, changes to an existing use case, or software bug fixes can result in new or modified output data. When this happens,

the reference branch needs to be updated so that future pull requests will
Expand All @@ -1082,45 +1085,48 @@ the destination branch. This is done so that the pull request number
responsible for the changes in the truth data can be referenced to easily
track where differences occurred.

Merging develop into develop-ref often causes strange conflicts. It really is
necessary and important to update develop-ref with the latest content of
develop. Follow these command line instructions in the METplus repository to
reconcile the conflicts before creating the pull request.

* Reconcile conflicts between develop and develop-ref branches.

::

git checkout develop-ref
git pull
git checkout develop
git pull
git merge -s ours develop-ref
git push origin develop

* Next click
`here <https://github.com/dtcenter/METplus/compare/develop-ref...develop>`_
and click the green "Create pull request" button to create the pull request.

.. figure:: figure/develop_into_develop-ref.png

* Set the name of the pull request to "Update develop-ref after #XXXX" where
XXXX is the pull request number that introduced the differences.

* Delete the template content and add the pull request number (formatted #XXXX)
and a brief description of what has changed. The description is optional
because the link to the pull request should contain this information.

A GitHub Action workflow is available to handle this step.

* Ensure that the develop data directory has been updated to include all of the
new input data.
Check with the reviewers of recent pull requests that add a new use case to
confirm that the steps under :ref:`update-the-develop-data-directory` have
been completed. If this step has not been completed, then the new use case(s)
will fail and the new output data will not be added to the truth data set.
* Navigate to https://github.com/dtcenter/METplus/actions/workflows/update_truth.yml
or from the METplus GitHub page, click on the Actions tab,
then click on "Update Truth Data" under menu on the left.
* Click on the "Run workflow" button on the right.
* Click on the Branch pull down and select "develop" unless you are updating
the truth data for a bugfix on a main_vX.Y branch.
* Enter the pull request numbers that warranted the update.
Include the '#' symbol before the number to create a link to the PR.
PRs from a repository other than METplus should include
the repository name before '#' symbol.
Copy link
Collaborator

@JohnHalleyGotway JohnHalleyGotway Apr 29, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the repository name before '#' symbol.
'dtcenter/' and the repository name before '#' symbol (e.g. dtcenter/MET#2000).

* Enter a brief summary of the changes.
Developers can navigate to the PRs for more information.

.. figure:: figure/update_truth_data.png

* Click the "Run workflow" button.
* A new workflow run should appear at the top of the list and complete quickly.
* Click on the "Pull Requests" tab.
A new pull request should have been created with the information that
was entered. Click on the new pull request.
* Verify that the information in this pull request is correct.
If the "develop" branch was selected in the "Run workflow" menu,
then the pull request should show **develop-ref <- develop**.
* Add the appropriate project and milestone values on the right hand side.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Add the appropriate project and milestone values on the right hand side.
* Add the appropriate project, development cycle, and milestone values on the right hand side.


* Create the pull request.

* Squash and merge the pull request. It is not necessary to wait for the
* Scroll to the bottom of the pull request and click "Squash and merge."
* Click "Confirm squash and merge." It is not necessary to wait for the
automation checks to complete for this step.

* Monitor the Testing automation run for the develop-ref branch and ensure that
all of the use cases run successfully and the final step named
"Create Output Docker Data Volumes" completed successfully.
* If any use cases fail, check that the input data has been updated following
the instructions under :ref:`update-the-develop-data-directory` and rerun
all of the jobs of the -ref workflow.


Clean Up DTC Web Server
-----------------------
Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.