otwcode/otwarchive

View on GitHub
.github/workflows/brakeman-scan.yml

Summary

Maintainability
Test Coverage
# This workflow integrates Brakeman with GitHub's Code Scanning feature
# Brakeman is a static analysis security vulnerability scanner for Ruby on Rails applications

name: Brakeman Scan

on:
  push:
    branches:
      - master
      - main
  pull_request:
    # The branches below must be a subset of the branches above
    branches:
      - master
      - main
  schedule:
    - cron: '26 2 * * 1'
  workflow_dispatch:

jobs:
  brakeman-scan:
    name: Brakeman Scan
    runs-on: ubuntu-latest
    steps:
    # Checkout the repository to the GitHub Actions runner
    - name: Checkout
      uses: actions/checkout@v4

    - name: Setup Ruby and run bundle install
      uses: ruby/setup-ruby@v1
      with:
        bundler-cache: true

    # Execute Brakeman CLI and generate a SARIF output with the security issues identified during the analysis
    - name: Scan
      continue-on-error: true
      run: |
        bundle exec brakeman -f sarif -o output.sarif.json .

    # Upload the SARIF file generated in the previous step
    - name: Upload SARIF
      uses: github/codeql-action/upload-sarif@v3
      with:
        sarif_file: output.sarif.json