|
|
|
|
@ -8,11 +8,11 @@ on:
@@ -8,11 +8,11 @@ on:
|
|
|
|
|
pull_request: |
|
|
|
|
types: [opened, synchronize, reopened] |
|
|
|
|
branches-ignore: |
|
|
|
|
- main |
|
|
|
|
- "main" |
|
|
|
|
pull_request_target: |
|
|
|
|
types: [opened, synchronize, reopened] |
|
|
|
|
branches: |
|
|
|
|
- main |
|
|
|
|
- "main" |
|
|
|
|
|
|
|
|
|
permissions: {} |
|
|
|
|
|
|
|
|
|
@ -24,103 +24,29 @@ jobs:
@@ -24,103 +24,29 @@ jobs:
|
|
|
|
|
contents: read |
|
|
|
|
|
|
|
|
|
sast: |
|
|
|
|
name: SAST scan |
|
|
|
|
runs-on: ubuntu-24.04 |
|
|
|
|
name: Checkmarx |
|
|
|
|
uses: bitwarden/gh-actions/.github/workflows/_checkmarx.yml@main |
|
|
|
|
needs: check-run |
|
|
|
|
secrets: |
|
|
|
|
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }} |
|
|
|
|
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} |
|
|
|
|
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} |
|
|
|
|
permissions: |
|
|
|
|
contents: read |
|
|
|
|
pull-requests: write |
|
|
|
|
security-events: write |
|
|
|
|
id-token: write |
|
|
|
|
|
|
|
|
|
steps: |
|
|
|
|
- name: Check out repo |
|
|
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |
|
|
|
|
with: |
|
|
|
|
ref: ${{ github.event.pull_request.head.sha }} |
|
|
|
|
|
|
|
|
|
- name: Log in to Azure |
|
|
|
|
uses: bitwarden/gh-actions/azure-login@main |
|
|
|
|
with: |
|
|
|
|
subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} |
|
|
|
|
tenant_id: ${{ secrets.AZURE_TENANT_ID }} |
|
|
|
|
client_id: ${{ secrets.AZURE_CLIENT_ID }} |
|
|
|
|
|
|
|
|
|
- name: Get Azure Key Vault secrets |
|
|
|
|
id: get-kv-secrets |
|
|
|
|
uses: bitwarden/gh-actions/get-keyvault-secrets@main |
|
|
|
|
with: |
|
|
|
|
keyvault: gh-org-bitwarden |
|
|
|
|
secrets: "CHECKMARX-TENANT,CHECKMARX-CLIENT-ID,CHECKMARX-SECRET" |
|
|
|
|
|
|
|
|
|
- name: Log out from Azure |
|
|
|
|
uses: bitwarden/gh-actions/azure-logout@main |
|
|
|
|
|
|
|
|
|
- name: Scan with Checkmarx |
|
|
|
|
uses: checkmarx/ast-github-action@184bf2f64f55d1c93fd6636d539edf274703e434 # 2.0.41 |
|
|
|
|
env: |
|
|
|
|
INCREMENTAL: "${{ contains(github.event_name, 'pull_request') && '--sast-incremental' || '' }}" |
|
|
|
|
with: |
|
|
|
|
project_name: ${{ github.repository }} |
|
|
|
|
cx_tenant: ${{ steps.get-kv-secrets.outputs.CHECKMARX-TENANT }} |
|
|
|
|
base_uri: https://ast.checkmarx.net/ |
|
|
|
|
cx_client_id: ${{ steps.get-kv-secrets.outputs.CHECKMARX-CLIENT-ID }} |
|
|
|
|
cx_client_secret: ${{ steps.get-kv-secrets.outputs.CHECKMARX-SECRET }} |
|
|
|
|
additional_params: | |
|
|
|
|
--report-format sarif \ |
|
|
|
|
--filter "state=TO_VERIFY;PROPOSED_NOT_EXPLOITABLE;CONFIRMED;URGENT" \ |
|
|
|
|
--output-path . ${{ env.INCREMENTAL }} |
|
|
|
|
|
|
|
|
|
- name: Upload Checkmarx results to GitHub |
|
|
|
|
uses: github/codeql-action/upload-sarif@dd196fa9ce80b6bacc74ca1c32bd5b0ba22efca7 # v3.28.3 |
|
|
|
|
with: |
|
|
|
|
sarif_file: cx_result.sarif |
|
|
|
|
sha: ${{ contains(github.event_name, 'pull_request') && github.event.pull_request.head.sha || github.sha }} |
|
|
|
|
ref: ${{ contains(github.event_name, 'pull_request') && format('refs/pull/{0}/head', github.event.pull_request.number) || github.ref }} |
|
|
|
|
|
|
|
|
|
quality: |
|
|
|
|
name: Quality scan |
|
|
|
|
runs-on: ubuntu-24.04 |
|
|
|
|
name: Sonar |
|
|
|
|
uses: bitwarden/gh-actions/.github/workflows/_sonar.yml@main |
|
|
|
|
needs: check-run |
|
|
|
|
secrets: |
|
|
|
|
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }} |
|
|
|
|
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} |
|
|
|
|
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} |
|
|
|
|
permissions: |
|
|
|
|
contents: read |
|
|
|
|
pull-requests: write |
|
|
|
|
id-token: write |
|
|
|
|
|
|
|
|
|
steps: |
|
|
|
|
- name: Check out repo |
|
|
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 |
|
|
|
|
with: |
|
|
|
|
fetch-depth: 0 |
|
|
|
|
ref: ${{ github.event.pull_request.head.sha }} |
|
|
|
|
|
|
|
|
|
- name: Log in to Azure |
|
|
|
|
uses: bitwarden/gh-actions/azure-login@main |
|
|
|
|
with: |
|
|
|
|
subscription_id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} |
|
|
|
|
tenant_id: ${{ secrets.AZURE_TENANT_ID }} |
|
|
|
|
client_id: ${{ secrets.AZURE_CLIENT_ID }} |
|
|
|
|
|
|
|
|
|
- name: Get Azure Key Vault secrets |
|
|
|
|
id: get-kv-secrets |
|
|
|
|
uses: bitwarden/gh-actions/get-keyvault-secrets@main |
|
|
|
|
with: |
|
|
|
|
keyvault: gh-org-bitwarden |
|
|
|
|
secrets: "SONAR-TOKEN" |
|
|
|
|
|
|
|
|
|
- name: Log out from Azure |
|
|
|
|
uses: bitwarden/gh-actions/azure-logout@main |
|
|
|
|
|
|
|
|
|
- name: Scan with SonarCloud |
|
|
|
|
uses: sonarsource/sonarqube-scan-action@2500896589ef8f7247069a56136f8dc177c27ccf # v5.2.0 |
|
|
|
|
env: |
|
|
|
|
SONAR_TOKEN: ${{ steps.get-kv-secrets.outputs.SONAR-TOKEN }} |
|
|
|
|
with: |
|
|
|
|
args: > |
|
|
|
|
-Dsonar.organization=${{ github.repository_owner }} |
|
|
|
|
-Dsonar.projectKey=${{ github.repository_owner }}_${{ github.event.repository.name }} |
|
|
|
|
-Dsonar.tests=. |
|
|
|
|
-Dsonar.sources=. |
|
|
|
|
-Dsonar.test.inclusions=**/*.spec.ts |
|
|
|
|
-Dsonar.exclusions=**/*.spec.ts |
|
|
|
|
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }} |
|
|
|
|
|