Skip to content

Feature #3407 Update METbaseimage version to 13.0 - #3435

Merged
JohnHalleyGotway merged 6 commits into
developfrom
feature_3407_update_metbase
Sep 4, 2026
Merged

Feature #3407 Update METbaseimage version to 13.0#3435
JohnHalleyGotway merged 6 commits into
developfrom
feature_3407_update_metbase

Conversation

@georgemccabe

@georgemccabe georgemccabe commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

...after the TCDiag seg fault has been resolved

Expected Differences

  • Do these changes introduce new tools, command line arguments, or configuration file options? [No]

    If yes, please describe:

  • Do these changes modify the structure of existing or add new output data types (e.g. statistic line types or NetCDF variables)? [No]

    If yes, please describe:

Pull Request Testing

  • Describe testing already performed for these changes:

Ran MET testing workflow with Docker image created from METbaseimage branch and confirmed all tests, including the TCDiag test that was failing), are now passing

https://github.com/dtcenter/MET/actions/runs/33523420631

  • Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:
  • Ensure all tests pass
  • Consider if there is a better way to reference the current base image version number in multiple places to reduce the amount of work needed to update it.
  • Consider triggering a METplus testing workflow with the Docker image created from this PR to ensure that all METplus use cases run successfully with these changes
  • Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes]

  • Do these changes include sufficient testing updates? [Yes]

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

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

  • Will this PR result in changes to existing METplus Use Cases? [No]

    If yes, create a new Update Truth METplus issue to describe them.

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

    If yes, please describe:

  • Please complete this pull request review by 9/4/2026.

Pull Request Checklist

See the METplus Workflow for details.

  • 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: METplus-X.Y Support project for bugfix releases or MET-X.Y Development project for the next coordinated release
  • 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.

@georgemccabe georgemccabe added this to the MET-13.0.0 milestone Sep 1, 2026
@github-project-automation github-project-automation Bot moved this to 🩺 Needs Triage in METplus-13.0 Development Sep 1, 2026
@georgemccabe georgemccabe linked an issue Sep 1, 2026 that may be closed by this pull request
22 tasks
@georgemccabe georgemccabe moved this from 🩺 Needs Triage to 🔎 In review in METplus-13.0 Development Sep 1, 2026
georgemccabe and others added 4 commits September 1, 2026 12:24
… treated like a number and truncating the .0
…s.sh as well as the SonarQube and Build Docker/Trigger METplus workflows. Haven't tested directly yet. I'll let the PR test for me.
…erfile and change them to required arguments.
…so just remove the defaults to we don't need to maintain them.

@JohnHalleyGotway JohnHalleyGotway left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@georgemccabe, as recommended in the PR, I update the logic to define the MET base repo and tag in a single location, a new script named get_met_base_image.sh.

The logic is factored out of the existing set_job_controls.sh script.

Please take a look to see if you're comfortable with this change.

@georgemccabe

Copy link
Copy Markdown
Collaborator Author

@JohnHalleyGotway, the changes you made to consolidate the base image version is great! Thank you for doing that. There are a few things that I think should be done with these changes.

  1. Since the default values for MET_BASE_REPO and MET_BASE_TAG have been removed from the Dockerfiles, we should update the README.md file in internal/scripts/docker to include them as build arguments in the examples since they are now required to be set.

  2. It looks like the dtcenter/met DockerHub repository still has build rules set to build tagged releases. This will break because the internal/scripts/docker/hooks/build file does not include the new required build arguments. Automating these builds in DockerHub is redundant since we build the release images via GHA. I suggest that we remove the hooks/build file and disable the automated builds in DockerHub.

@georgemccabe

Copy link
Copy Markdown
Collaborator Author

@JohnHalleyGotway, a couple other suggestions/thoughts:

  1. We may also want to consider setting a default of MET_BASE_REPO=met-base in the Dockerfiles since that is a good default value to use if a user wants to build a Docker image themselves. This gets overridden by our GHA workflows, but it is the logical choice for users running manually and won't change from version to version.

  2. Since the version number for the base image is now consistent with the MET version number, we could pull that value from the MET code and utilize the METplus component_versions.py script, if necessary.

@JohnHalleyGotway JohnHalleyGotway left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

After updating the logic to only specify the default METbaseimage version in one spot, I confirmed that all the MET GHA tests still pass.

I also manually triggered this METplus GHA testing workflow run using the dtcenter/met-dev:feature_3407_update_metbase-PR Docker image created for this PR.

However, a few use cases did fail, including:

  • use_cases/model_applications/precipitation/GridStat_fcstHREFmean_obsStgIV_Gempak.conf
  • use_cases/met_tool_wrapper/GempakToCF/GempakToCF.conf
  • use_cases/met_tool_wrapper/GFDLTracker/GFDLTracker_Genesis.conf

It looks like the Gempak and Vortex tracker handling aren't working well.

How would you like to proceed?

… MET_BASE_REPO in the Dockerfiles, add MET_BASE_TAG to the examples in README.md, delete the DockerHub hooks, and disable DockerHub autobuilds (which are deprecated in 2027 anyway).
@JohnHalleyGotway

JohnHalleyGotway commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

As recommended, I did the following:

  • Restored default settings for MET_BASE_REPO to Dockerfiles.
  • Added MET_BASE_TAG to the examples in README.md
  • Deleted the DockerHub build hooks file
  • Disabled the DockerHub autobuilds (which are deprecated in 2027 anyway)

For posterity, here's a screenshot of what those autobuild settings were.

Screenshot 2026-09-04 at 11 49 10 AM

I do agree that it'd be preferable for MET_BASE_TAG to be automatically set, but there's no easy/obvious way to do so within the existing Dockerfiles. As noted, our GitHub actions handle setting MET_BASE_TAG appropriately. I doubt that users are building these manually all that often and don't think this is a situation worth prioritizing.

@sonarqubecloud

sonarqubecloud Bot commented Sep 4, 2026

Copy link
Copy Markdown

@JohnHalleyGotway JohnHalleyGotway left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

After @georgemccabe updated METplus to remove an unnecessary sqlite dependency (PR dtcenter/METplus#3344), I retested METplus using the MET image created for this PR (dtcenter/met-dev:feature_3407_update_metbase-PR).

If/when this METplus testing workflow succeeds, I'll approve this PR:
https://github.com/dtcenter/METplus/actions/runs/33905685810

@JohnHalleyGotway JohnHalleyGotway left a comment

Copy link
Copy Markdown
Collaborator

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.

I confirmed that this METplus testing workflow now succeeds with these updates.

Thanks @georgemccabe for all your work on this. I'll just go ahead and merge this PR myself now.

I'll note that the documentation build failure is due to an unrelated warning message. The actual docs do build just fine.

@JohnHalleyGotway
JohnHalleyGotway merged commit 8299869 into develop Sep 4, 2026
65 of 67 checks passed
@github-project-automation github-project-automation Bot moved this from 🔎 In review to 🏁 Done in METplus-13.0 Development Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🏁 Done

Development

Successfully merging this pull request may close these issues.

Upgrade MET to use METbaseimage version 3.5

2 participants