-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Describe the Task
When working with METplus Docker images, the USAF found a list of CVE's that need to be fixed. Part of the solution is enhancing the METplus CI/CD logic to include automated and frequent rebuilds of both the METbaseimage builds and the downstream MET, METplus, and METviewer images as recommended in DockerHub Best Practices.
To facilitate this frequent rebuilding of all "active" METbaseimage tags, the branching strategy for this repository should be restructured. It currently contains only a main branch and all tags are created from the main branch. However, attempting to recreate the v3.3. as-is fails because it ingests/compiles the dependent library for v3.4, rather than v3.3. I propose that we switch to the same branching strategy used in all of METplus code repositories, with a develop branch and main_vX.Y branch for each official release. This will enable us to patch/recreate existing images versions as frequently as we'd like.
I propose that we:
- Rename main as develop.
- Use the v3.3 tag to create a main_v3.3 branch and fix it to enable v3.3 images to be built.
- Use the v3.4 tag to create a main_v3.4 branch and fix it to enable v3.4 images to be built.
- Apply consistent branch protection logic and support the
workflow_dispatch
GHA option. - Add logic to use routinely rebuild the images for main_v3.3 and main_v3.4 and tag them as v3.3 and v3.4 in DockerHub.
- Set up similar logic to use cron to rebuild the MET/METplus/METviewer images periodically using the updated base images.
Time Estimate
About 1 day
Sub-Issues
Consider breaking the task down into sub-issues.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
PRJ013851 AF METPLUS 2771025
Define the Metadata
Assignee
- Select engineer(s) or no engineer required
- Select scientist(s) or no scientist required
Labels
- Select component(s)
- Select priority
- Select requestor(s)
Projects and Milestone
- Select Repository and/or Organization level Project(s) or add alert: NEED CYCLE ASSIGNMENT label
- Select Milestone as the next official version or Future Versions
Define Related Issue(s)
Consider the impact to the other METplus components.
- METplus, MET, METdataio, METviewer, METexpress, METcalcpy, METplotpy
- Downstream updates may also be needed in other METplus repositories, but this has no DIRECT impacts.
Task 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 issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version - Iterate until the reviewer(s) accept and merge your changes.
- Delete your fork or branch.
- Close this issue.