This PR adds automated SonarQube scanning of the METviewer software.
It uses a new Dockerfile.copy file to copy the local METviewer repository into a Docker image, along with the develop branch of all the dependent repos, and builds the METviewer Docker image. Note that this is built locally and NOT pushed up to DockerHub. However, we could add a metviewer-dev DockerHub repo if/when needed to facilitate additional testing.
It copies the resulting dist directory out of the container, runs the configure_sonarqube.sh script to configure the properties files, and then uses the actions provided by SonarSource to do the scan and check the quality gate.
This PR moves the docker sub-directory into. internal/scripts/docker for consistency with all other METplus repos.
Note that once this is merge, I'll need to update the DockerHub build rules accordingly.
This also renames Dockerfile_for_singluarity to Dockerfile.apptainer.
I have a few ideas for improvements that are not included in these changes. Please read through issue #527 for those recommended enhancements.
Pull Request Testing
[x] Describe testing already performed for these changes:
Tested with my feature_521_develop_sonarqube_gha branch via GitHub actions.
This sonarqube actions run pushed results to the METviewer SonarQube project.
[x] Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:
Review the code changes and automation logic.
Check the output of this GHA run that was triggered by this pull request:
https://github.com/dtcenter/METviewer/actions/runs/8759971661?pr=525
[x] Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes]
The METviewer user's guide does NOT discuss automated testing through GitHub acitons.
[x] Do these changes include sufficient testing updates? [Yes]
This is automating that testing.
[x] Will this PR result in changes to the test suite? [No]
If yes, describe the new output and/or changes to the existing output:
[x] Please complete this pull request review by [Tues 4/23/24].
[x] Review the source issue metadata (required labels, projects, and milestone).
[x] Complete the PR definition above.
[x] Ensure the PR title matches the feature or bugfix branch name.
[x] Define the PR metadata, as permissions allow.
Select: Reviewer(s)
Select: Organization level software support Project or Repository level development cycle Project
Select: Milestone as the version that will include these changes
[x] After submitting the PR, select the :gear: 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.
This PR adds automated SonarQube scanning of the METviewer software.
Dockerfile.copy
file to copy the local METviewer repository into a Docker image, along with the develop branch of all the dependent repos, and builds the METviewer Docker image. Note that this is built locally and NOT pushed up to DockerHub. However, we could add ametviewer-dev
DockerHub repo if/when needed to facilitate additional testing.dist
directory out of the container, runs theconfigure_sonarqube.sh
script to configure the properties files, and then uses the actions provided by SonarSource to do the scan and check the quality gate.docker
sub-directory into.internal/scripts/docker
for consistency with all other METplus repos.Dockerfile_for_singluarity
toDockerfile.apptainer
.I have a few ideas for improvements that are not included in these changes. Please read through issue #527 for those recommended enhancements.
Pull Request Testing
[x] Describe testing already performed for these changes: Tested with my
feature_521_develop_sonarqube_gha
branch via GitHub actions. This sonarqube actions run pushed results to the METviewer SonarQube project.[x] Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions: Review the code changes and automation logic. Check the output of this GHA run that was triggered by this pull request: https://github.com/dtcenter/METviewer/actions/runs/8759971661?pr=525
[x] Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes] The METviewer user's guide does NOT discuss automated testing through GitHub acitons.
[x] Do these changes include sufficient testing updates? [Yes] This is automating that testing.
[x] Will this PR result in changes to the test suite? [No] If yes, describe the new output and/or changes to the existing output:
[x] Please complete this pull request review by [Tues 4/23/24].
Pull Request Checklist
See the METplus Workflow for details.