Skip to content

Improve release process by updating automated workflows #3250

Description

@georgemccabe

There are a few steps needed for a release that could be improved with automation. There are a few MET Docker images that are created from GitHub Actions workflows that are needed for the METplus automated tests.

This issue arose because I had to push a change to METplotpy's main_v3.2 branch, which triggered a METplus run that uses the dtcenter/met-dev:main_v12.2-lite version, but it didn't exist because MET's workflow to trigger METplus, which creates the -lite version, hadn't run yet.

Describe the Enhancement

@JohnHalleyGotway updated the MET release guide to include instructions to manually trigger the following:

  1. A MET main_vX.Y testing workflow, which creates dtcenter/met-dev:main_vX.Y which is needed for the METplus main_vX.Y-ref run
  2. A MET main_vX.Y Build Docker Image and Trigger METplus Workflow, which creates dtcenter/met-dev:main_vX.Y-lite which is needed by the METplus main_vX.Y testing workflows that are triggered by external repos.

The Build Docker Image and Trigger METplus Workflow will trigger METplus for a branch that doesn't exist yet and will fail. We could avoid this by adding an option to the workflow to build the -lite image but not actually trigger the METplus workflow.

We could have a job at the end of the MET main_vX.Y-ref testing run that checks if there has been a MET main_vX.Y testing workflow run before. If not, then use gh, which is already installed in GHA, to trigger the 2 workflows that we need to be triggered to create the stuff needed for METplus.

If we did that, we could pass the option to the trigger METplus workflow to not actually trigger METplus and just build the -lite image.

Time Estimate

~1-2 days

Sub-Issues

Consider breaking the enhancement down into sub-issues.

  • Add a checkbox for each sub-issue here.

Relevant Deadlines

List relevant project deadlines here or state NONE.

Funding Source

Define the source of funding and account keys here or state NONE.

Define the Metadata

Assignee

  • Select engineer(s) or no engineer required
  • Select scientist(s) or no scientist required

Labels

  • Review default alert labels
  • Select component(s)
  • Select priority
  • Select requestor(s)

Milestone and Projects

  • Select Milestone as a MET-X.Y.Z version, Consider for Next Release, or Backlog of Development Ideas
  • For a MET-X.Y.Z version, select the MET-X.Y Development project

Define Related Issue(s)

Consider the impact to the other METplus components.

Enhancement Checklist

See the METplus Workflow for details.

  • Complete the issue definition above, including the Time Estimate and Funding Source.
  • Fork this repository or create a branch of develop.
    Branch name: feature_<Issue Number>_<Description>
  • Complete the development and test your changes.
  • Add/update log messages for easier debugging.
  • Add/update unit tests.
  • Add/update documentation.
  • Push local changes to GitHub.
  • Submit a pull request to merge into develop.
    Pull request: feature <Issue Number> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the next official version
    Select: MET-X.Y Development project for development toward the next coordinated release
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Close this issue.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions