Skip to content

Veracode Static Analysis Pipeline Scan #57

Veracode Static Analysis Pipeline Scan

Veracode Static Analysis Pipeline Scan #57

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will initiate a Veracode Static Analysis Pipeline scan, return a results.json and convert to SARIF for upload as a code scanning alert
name: Veracode Static Analysis Pipeline Scan
on:
workflow_run:
workflows: ["Deploy to MNbenefits ATST"]
branches: [main]
types:
- completed
workflow_dispatch:
inputs: { }
#on:
# push:
# branches: [ "main" ]
#pull_request:
# The branches below must be a subset of the branches above
# branches: [ "main" ]
#schedule:
# - cron: '15 6 * * 4'
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
permissions:
contents: read
jobs:
# This workflow contains a job to build and submit pipeline scan, you will need to customize the build process accordingly and make sure the artifact you build is used as the file input to the pipeline scan file parameter
build-and-pipeline-scan:
# The type of runner that the job will run on
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: ''
- uses: actions/checkout@v4
- name: Set up ChromeDriver
uses: nanasess/[email protected]
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '17'
cache: 'gradle'
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: build with gradle
run: ./gradlew assemble
- run: zip -r veracode-scan-target.zip ./
- name: Veracode Upload And Scan
uses: veracode/[email protected]
with:
appname: DHS - MNbenefits # default is ${{ github.repository }}
# createprofile
createprofile: true # default is true
# filepath
filepath: veracode-scan-target.zip
scanallnonfataltoplevelmodules: true
# version
version: ${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }} # default is Scan from Github job: ${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
# vid
vid: ${{secrets.VERACODE_API_ID}}
# vkey
vkey: ${{secrets.VERACODE_API_KEY}}
# download the Veracode Static Analysis Pipeline scan jar
- run: curl --silent --show-error --fail -O https://downloads.veracode.com/securityscan/pipeline-scan-LATEST.zip
- run: unzip -o pipeline-scan-LATEST.zip
- uses: actions/setup-java@v4
with:
java-version: 8
distribution: 'temurin'
- run: java -jar pipeline-scan.jar --veracode_api_id "${{secrets.VERACODE_API_ID}}" --veracode_api_key "${{secrets.VERACODE_API_KEY}}" --fail_on_severity="Very High, High" --file veracode-scan-target.zip
continue-on-error: true
- name: Convert pipeline scan output to SARIF format
id: convert
uses: veracode/veracode-pipeline-scan-results-to-sarif@6a1ca6ebb21c9ec0cfca69987bf320a936b0577d
with:
pipeline-results-json: results.json
- uses: github/codeql-action/upload-sarif@v3
with:
# Path to SARIF file relative to the root of the repository
sarif_file: veracode-results.sarif