Skip to content

.github/workflows/checkmarx-analysis.yml #1

.github/workflows/checkmarx-analysis.yml

.github/workflows/checkmarx-analysis.yml #1

# Veracode scans
on:
workflow_dispatch:
workflow_call:
inputs:
module_directory:
required: true
type: string
module_name:
required: true
type: string
major_version:
required: true
type: string
minor_version:
required: true
type: string
stability:
required: true
type: string
secrets:
base_uri:
required: true
cx_tenant:
required: true
cx_client_id:
required: true
cx_client_secret:
required: true
jira_base_url:
required: true
jira_user_email:
required: true
jira_api_token:
required: true
jobs:
build:
name: Binary preparation
runs-on: ubuntu-24.04
outputs:
enable_qg: ${{ steps.routing-mode.outputs.enable_qg }}
steps:
- name: Set routing mode
id: routing-mode
run: |
# Quality gate settings
ENABLE_QG="true"
pipeline-scan:
needs: [ build ]
name: Run a pipeline scan
runs-on: ubuntu-24.04
if: needs.build.outputs.enable_qg == 'true'
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Checkmarx One CLI Action
uses: checkmarx/ast-github-action@9fda5a4a2c297608117a5a56af424502a9192e57 # v.2.0.34
with:
base_uri: ${{ secrets.AST_RND_SCANS_BASE_URI }}
cx_tenant: ${{ secrets.AST_RND_SCANS_TENANT }}
cx_client_id: ${{ secrets.AST_RND_SCANS_CLIENT_ID }}
cx_client_secret: ${{ secrets.AST_RND_SCANS_CLIENT_SECRET }}
additional_params: --tags phoenix --threshold "sast-critical=1;sast-high=1;" --project-name "centreon-web"
create-jira-checkmarx-ticket:
runs-on: ubuntu-24.04
needs: [build, pipeline-scan]
if: ${{ success() }}
steps:
- name: Checkout sources
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Create jira ticket
# In case of QG failure, a ticket must be created
uses: ./.github/actions/create-jira-ticket
with:
jira_base_url: ${{ secrets.jira_base_url }}
jira_user_email: ${{ secrets.jira_user_email }}
jira_api_token: ${{ secrets.jira_api_token }}
module_name: ${{ inputs.module_name }}
ticket_labels: '["Veracode", "Pipeline", "Checkmarx", "POC"]'