From b615bfa66463131cc76d2e4ab656d23815c6f82e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lison=20Fernandes?= Date: Wed, 18 Dec 2024 23:49:41 +0000 Subject: [PATCH] [PM-16208] chore(ci): Split scan workflow for protected branches and migrate to new sonarqube action (#4489) --- .github/workflows/scan-ci.yml | 60 +++++++++++++++++++++++++++++++++++ .github/workflows/scan.yml | 10 ++---- 2 files changed, 62 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/scan-ci.yml diff --git a/.github/workflows/scan-ci.yml b/.github/workflows/scan-ci.yml new file mode 100644 index 00000000000..49a15ecae2b --- /dev/null +++ b/.github/workflows/scan-ci.yml @@ -0,0 +1,60 @@ +name: Scan Protected Branches On Push + +on: + workflow_dispatch: + push: + branches: + - "main" + +jobs: + sast: + name: SAST scan + runs-on: ubuntu-24.04 + permissions: + contents: read + security-events: write + + steps: + - name: Check out repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + fetch-depth: 0 + + - name: Scan with Checkmarx + uses: checkmarx/ast-github-action@b74e8d514feae4ad5ad2b43e72590935bd2daf5f # 2.0.39 + with: + project_name: ${{ github.repository }} + cx_tenant: ${{ secrets.CHECKMARX_TENANT }} + base_uri: https://ast.checkmarx.net/ + cx_client_id: ${{ secrets.CHECKMARX_CLIENT_ID }} + cx_client_secret: ${{ secrets.CHECKMARX_SECRET }} + additional_params: | + --report-format sarif \ + --filter "state=TO_VERIFY;PROPOSED_NOT_EXPLOITABLE;CONFIRMED;URGENT" \ + --output-path . + + - name: Upload Checkmarx results to GitHub + uses: github/codeql-action/upload-sarif@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6 + with: + sarif_file: cx_result.sarif + + quality: + name: Quality scan + runs-on: ubuntu-24.04 + permissions: + contents: read + + steps: + - name: Check out repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + fetch-depth: 0 + + - name: Scan with SonarCloud + uses: sonarsource/sonarqube-scan-action@bfd4e558cda28cda6b5defafb9232d191be8c203 # v4.2.1 + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + with: + args: > + -Dsonar.organization=${{ github.repository_owner }} + -Dsonar.projectKey=${{ github.repository_owner }}_${{ github.event.repository.name }} diff --git a/.github/workflows/scan.yml b/.github/workflows/scan.yml index 1b02af92576..82becaecea1 100644 --- a/.github/workflows/scan.yml +++ b/.github/workflows/scan.yml @@ -1,12 +1,7 @@ -name: Scan +name: Scan Pull Requests on: workflow_dispatch: - push: - branches: - - "main" - - "rc" - - "hotfix-rc" pull_request_target: types: [opened, synchronize] merge_group: @@ -68,10 +63,9 @@ jobs: ref: ${{ github.event.pull_request.head.sha }} - name: Scan with SonarCloud - uses: sonarsource/sonarcloud-github-action@02ef91109b2d589e757aefcfb2854c2783fd7b19 # v4.0.0 + uses: sonarsource/sonarqube-scan-action@bfd4e558cda28cda6b5defafb9232d191be8c203 # v4.2.1 env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: args: > -Dsonar.organization=${{ github.repository_owner }}