Skip to content

Semgrep

Semgrep #58

Workflow file for this run

# Name of this GitHub Actions workflow.
name: Semgrep
on:
# Scan changed files in PRs (diff-aware scanning):
pull_request: {}
# Scan mainline branches and report all findings:
push:
branches: ["master", "main"]
# Schedule the CI job (this method uses cron syntax):
schedule:
- cron: "20 17 * * *" # Sets Semgrep to scan every day at 17:20 UTC.
# It is recommended to change the schedule to a random time.
# Enable manual trigger of the action. Useful for debugging purposes
workflow_dispatch:
jobs:
semgrep:
# User definable name of this GitHub Actions job.
name: Scan
# If you are self-hosting, change the following `runs-on` value:
runs-on: ubuntu-latest
permissions:
# required for all workflows
security-events: write
container:
# A Docker image with Semgrep installed. Do not change this.
image: returntocorp/semgrep
# Skip any PR created by dependabot to avoid permission issues:
if: (github.actor != 'dependabot[bot]')
steps:
# Fetch project source with GitHub Actions Checkout.
- uses: actions/checkout@v3
# Run the "semgrep ci" command on the command line of the docker image.
- run: semgrep ci --sarif --output=semgrep.sarif --config auto --exclude-rule c.lang.security.insecure-use-memset.insecure-use-memset --exclude testing/
- name: Upload SARIF file for GitHub Advanced Security Dashboard
# pinning to full commit hash from tagged version v2.20.4
uses: github/codeql-action/upload-sarif@489225d82a57396c6f426a40e66d461b16b3461d
with:
sarif_file: semgrep.sarif
if: ${{ hashFiles('semgrep.sarif') != '' }}