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 #2682 Component version lookup #2733

Merged
merged 22 commits into from
Oct 18, 2024

Conversation

georgemccabe
Copy link
Collaborator

@georgemccabe georgemccabe commented Oct 17, 2024

This PR includes the addition of a version lookup table/script to get the version numbers of METplus components, which resolves part of #2562. It also adds a GitHub Actions workflow to build the dtcenter/metplus-analysis Docker image, which resolves #2682.

Pull Request Testing

  • Describe testing already performed for these changes:
  • Added unit tests for metplus/component_versions.py script and tested running script on command line.
  • Confirmed GitHub Actions docker setup job runs successfully with logic replaced with a call to the script (note: will need to test that the correct MET X.Y-latest version is used when the official release is created)
  • Will need to test that new GitHub Actions workflow that builds Docker images will run successfully when the beta6 release is created because it is triggered by a release and required a specific tag format to work.
  • Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:
  • Review changes
  • Try running metplus_component_versions.py script with various arguments to test functionality (run with -h to see usage statement). Refer to the unit tests for examples of how the script will be run.
  • Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [No]

Will need to update release guide with information on how to update version lookup table when a bugfix release is created and how to add new entries to the table after an official release (for the next release). I will leave the issue open and make a comment to ensure this is done for the rc1 release.

  • Do these changes include sufficient testing updates? [sort of]

We will need to keep an eye on the GHA runs for the beta and official releases to ensure everything is working as expected and patch as needed.

  • Will this PR result in changes to the test suite? [No]

    If yes, describe the new output and/or changes to the existing output:

  • Do these changes introduce new SonarQube findings? [No]

    If yes, please describe:

  • Please complete this pull request review by 10/28/2024.

Pull Request Checklist

See the METplus Workflow for details.

  • Add any new Python packages to the METplus Components Python Requirements table.
  • For any new datasets, an entry to the METplus Verification Datasets Guide.
  • Review the source issue metadata (required labels, projects, and milestone).
  • Complete the PR definition above.
  • Ensure the PR title matches the feature or bugfix branch name.
  • Define the PR metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the version that will include these changes
    Select: Coordinated METplus-X.Y Support project for bugfix releases or METplus-Wrappers-X.Y.Z Development project for official releases
  • After submitting the PR, select the ⚙️ icon in the Development section of the right hand sidebar. Search for the issue that this PR will close and select it, if it is not already selected.
  • After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
  • Close the linked issue and delete your feature or bugfix branch from GitHub.

…ns to get formatted version of requested components
…d of build hook file that just adds 6 to major version
Copy link
Collaborator

@JohnHalleyGotway JohnHalleyGotway left a comment

Choose a reason for hiding this comment

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

I approve of these changes.

Checked out this feature branch on seneca and tested this on the command line in several ways.

I note that this also removes `docker/hooks/get_met_version` since that functionality is superseded. 
# Show default formatting of vX.Y.Z
> metplus/component_versions.py -i METplus -v 5.1.0 -o MET
v11.1.1
# Define the formatting
> metplus/component_versions.py -i METplus -v 5.1.0 -o MET -f "{X}.{Y}.{Z}"
11.1.1
# Default is for v6.0
> metplus/component_versions.py -o METplotpy
v3.0.0
# Bad inputs report an empty string
> metplus/component_versions.py -i METplus -v 7.0.0 -o MET
# See that develop is returned for vX.Y.Z-dev input 
> metplus/component_versions.py -i METplus -v v6.0.0-dev -o MET
develop

I also note that docker/hooks/get_met_version is removed since it is superseded by these changes.

@georgemccabe georgemccabe merged commit 86327e0 into develop Oct 18, 2024
75 checks passed
@georgemccabe georgemccabe deleted the feature_2682_docker_mp_analysis branch October 18, 2024 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏁 Done
2 participants