dtcenter / METplus

Python scripting infrastructure for MET tools.
https://metplus.readthedocs.io
Apache License 2.0
94 stars 37 forks source link

Refactor the METplus SonarQube workflow with a custom action #2544

Open JohnHalleyGotway opened 3 months ago

JohnHalleyGotway commented 3 months ago

Describe the Enhancement

During the METplus 6.0.0 beta4 development cycle, a SonarQube scanning workflow (.github/workflows/sonarqube.yml) was added to the METplus repositories. While the MET logic is complex and requires running the SonarQube build wrapper in a Docker container, the logic for the Python-based METplus repositories is straight-forward. As of beta4, the same set of 5 workflow steps (checkout, branch name, configure, run scan, check quality gate) is repeated in the METplus, METplotpy, METcalcpy, and METdataio repositories. Note that the SonarQube workflow has not yet been added to METviewer, and the logic for doing so has not yet beed defined.

This issue is define a custom action in a new dtcenter/metplus-action-sonarqube repository. That action should perform the 5 steps defined above: checkout, branch name, configure, run scan, check quality gate

Then update the existing sonarqube.xml workflows to call that custom action instead. This should provide a more maintainable solution.

Time Estimate

2 days.

Sub-Issues

Consider breaking the enhancement down into sub-issues.

Relevant Deadlines

List relevant project deadlines here or state NONE.

Funding Source

METplus Air Force key (2771024)

Define the Metadata

Assignee

Labels

Projects and Milestone

Define Related Issue(s)

Consider the impact to the other METplus components.

Enhancement Checklist

See the METplus Workflow for details.