From 82a469488a8f2c864ee9a9402f300d58c161e87f Mon Sep 17 00:00:00 2001 From: Jessica Wagantall Date: Fri, 12 Apr 2024 14:46:51 -0700 Subject: [PATCH] CI: Add SonarCloud scan GHA workflow Change-Id: I963c394b791d2fccac66c927c2fc37f09f9c83a5 Signed-off-by: Jessica Wagantall --- .github/workflows/gerrit-novote-merge.yaml | 113 +++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 .github/workflows/gerrit-novote-merge.yaml diff --git a/.github/workflows/gerrit-novote-merge.yaml b/.github/workflows/gerrit-novote-merge.yaml new file mode 100644 index 0000000..9d07dcd --- /dev/null +++ b/.github/workflows/gerrit-novote-merge.yaml @@ -0,0 +1,113 @@ +--- +name: Gerrit Merge + +# yamllint disable-line rule:truthy +on: + workflow_dispatch: + inputs: + GERRIT_BRANCH: + description: "Branch that change is against" + required: true + type: string + GERRIT_CHANGE_ID: + description: "The ID for the change" + required: true + type: string + GERRIT_CHANGE_NUMBER: + description: "The Gerrit number" + required: true + type: string + GERRIT_CHANGE_URL: + description: "URL to the change" + required: true + type: string + GERRIT_EVENT_TYPE: + description: "Type of Gerrit event" + required: true + type: string + GERRIT_PATCHSET_NUMBER: + description: "The patch number for the change" + required: true + type: string + GERRIT_PATCHSET_REVISION: + description: "The revision sha" + required: true + type: string + GERRIT_PROJECT: + description: "Project in Gerrit" + required: true + type: string + GERRIT_REFSPEC: + description: "Gerrit refspec of change" + required: true + type: string + secrets: + SONAR_TOKEN: + description: "Sonar Cloud access token" + required: true + +concurrency: + # yamllint disable-line rule:line-length + group: gerrit-merge-${{ github.workflow }}-${{ github.event.inputs.GERRIT_CHANGE_ID || github.run_id }} + cancel-in-progress: true + +jobs: + notify: + runs-on: ubuntu-latest + steps: + - name: Notify job start + # yamllint disable-line rule:line-length + uses: lfit/gerrit-review-action@9627b9a144f2a2cad70707ddfae87c87dce60729 # v0.8 + with: + host: ${{ vars.GERRIT_SERVER }} + username: ${{ vars.GERRIT_SSH_USER }} + key: ${{ secrets.GERRIT_SSH_PRIVKEY }} + known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }} + gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }} + gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }} + vote-type: clear + comment-only: true + - name: Allow replication + run: sleep 10s + + call-sonarcloud-scan: + runs-on: ubuntu-latest + needs: notify + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ inputs.GERRIT_BRANCH }} + submodules: "true" + - name: Run SonarCloud Scan + uses: sonarsource/sonarcloud-github-action@master + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + with: + args: > + -Dsonar.build.sourceEncoding=UTF-8 + -Dsonar.organization=o-ran-sc + -Dsonar.projectBaseDir=. + -Dsonar.projectKey=o-ran-sc_smo-o1 + -Dsonar.projectName=smo-o1 + -Dsonar.sources=. + -Dsonar.verbose=true + + report-status: + if: ${{ always() }} + needs: [notify, call-sonarcloud-scan] + runs-on: ubuntu-latest + steps: + - name: Get workflow conclusion + uses: technote-space/workflow-conclusion-action@v3 + - name: Report workflow conclusion + # yamllint disable-line rule:line-length + uses: lfit/gerrit-review-action@9627b9a144f2a2cad70707ddfae87c87dce60729 # v0.8 + with: + host: ${{ vars.GERRIT_SERVER }} + username: ${{ vars.GERRIT_SSH_USER }} + key: ${{ secrets.GERRIT_SSH_PRIVKEY }} + known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }} + gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }} + gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }} + vote-type: ${{ env.WORKFLOW_CONCLUSION }} + comment-only: true -- 2.16.6