Просмотр исходного кода

Merge pull request #2400 from ameijer/atm/debug-code-cov

run baseline scan when on develop
Cliff Colvin 2 лет назад
Родитель
Сommit
86b84a12af
2 измененных файлов с 27 добавлено и 5 удалено
  1. 5 1
      .github/workflows/build-test.yaml
  2. 22 4
      .github/workflows/sonar.yaml

+ 5 - 1
.github/workflows/build-test.yaml

@@ -51,6 +51,9 @@ jobs:
           PR_NUM: ${{ github.event.number }}
         run: |
           echo $PR_NUM > pr_num.txt
+          echo $GITHUB_BASE_REF > base.txt
+          echo $GITHUB_HEAD_REF > head.txt
+
       - name: Upload code coverage
         uses: actions/upload-artifact@v3
         with:
@@ -58,7 +61,8 @@ jobs:
           path: |
            coverage.out
            pr_num.txt
-      
+           base.txt
+           head.txt
 
   frontend:
     runs-on: ubuntu-latest

+ 22 - 4
.github/workflows/sonar.yaml

@@ -36,16 +36,34 @@ jobs:
             fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/oc-code-coverage.zip`, Buffer.from(download.data));
       - name: 'Unzip code coverage'
         run: unzip oc-code-coverage.zip -d coverage
-      - name: SonarCloud Scan
+      - name: set env vars 
+        run: | 
+          echo "SONAR_PR_NUM=$(cat coverage/pr_num.txt)" >> $GITHUB_ENV
+          echo "SONAR_BASE=$(cat coverage/base.txt)" >> $GITHUB_ENV
+          echo "SONAR_HEAD=$(cat coverage/head.txt)" >> $GITHUB_ENV
+      # on develop branch, only run a baseline scan
+      - name: SonarCloud Scan (Baseline)
         uses: sonarsource/sonarcloud-github-action@master
+        if: env.SONAR_HEAD == 'develop'
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
         with:
           args: >
             -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }}
-            -Dsonar.pullrequest.key=${{ github.event.workflow_run.pull_requests[0].number }}
-            -Dsonar.pullrequest.branch=${{ github.event.workflow_run.pull_requests[0].head.ref }}
-            -Dsonar.pullrequest.base=${{ github.event.workflow_run.pull_requests[0].base.ref }}
+            -Dsonar.projectKey=opencost_opencost
+            -Dsonar.organization=opencost
+      - name: SonarCloud Scan (PR)
+        uses: sonarsource/sonarcloud-github-action@master
+        if: env.SONAR_HEAD != 'develop'
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+        with:
+          args: >
+            -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }}
+            -Dsonar.pullrequest.key=${{ env.SONAR_PR_NUM }}
+            -Dsonar.pullrequest.branch=${{ env.SONAR_HEAD }}
+            -Dsonar.pullrequest.base=${{ env.SONAR_BASE }}
             -Dsonar.projectKey=opencost_opencost
             -Dsonar.organization=opencost