diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 2363ebc..c0cdcbb 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -1,22 +1,38 @@ +name: Semgrep + on: - workflow_call: - inputs: - continue-on-error: - required: false - default: false - type: boolean - secrets: - semgrep-app-token: - required: true + # Scan changed files in PRs (diff-aware scanning): + pull_request: {} + # Scan on-demand through GitHub Actions interface: + workflow_dispatch: {} + # Scan mainline branches and report all findings: + push: + branches: ["master", "main"] + # Schedule the CI job (this method uses cron syntax): + schedule: + - cron: '24 11 * * *' -name: Semgrep jobs: semgrep: - name: Scan with Semgrep + # User definable name of this GitHub Actions job. + name: semgrep/ci + # If you are self-hosting, change the following `runs-on` value: runs-on: ubuntu-latest - continue-on-error: ${{ inputs.continue-on-error }} + + container: + # A Docker image with Semgrep installed. Do not change this. + image: semgrep/semgrep:canary + + # Skip any PR created by dependabot to avoid permission issues: + if: (github.actor != 'dependabot[bot]') + steps: - - uses: actions/checkout@v3 - - uses: returntocorp/semgrep-action@v1 - with: - publishToken: ${{ secrets.semgrep-app-token }} + # Fetch project source with GitHub Actions Checkout. Use either v3 or v4. + - uses: actions/checkout@v4 + # Run the "semgrep ci" command on the command line of the docker image. + - run: semgrep ci + env: + # Connect to Semgrep Cloud Platform through your SEMGREP_APP_TOKEN. + # Generate a token from Semgrep Cloud Platform > Settings + # and add it to your GitHub secrets. + SEMGREP_APP_TOKEN: ${{ secrets.semgrep-app-token }}