mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
actions/checkout@v3 actually creates a merge commit into master, to ensure you're testing the latest as close to master as possible. That's all well and good, but quite confusing when you see errors in CI that aren't present in the actual PR branch. Hopefully this will be a clue when such confusions arise.
52 lines
1.5 KiB
YAML
52 lines
1.5 KiB
YAML
# 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
|
|
|
|
# This section configures the trigger for the workflow. Feel free to customize depending on your convention
|
|
on:
|
|
push:
|
|
branches: [ "master" ]
|
|
pull_request:
|
|
branches: [ "master" ]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
brakeman-scan:
|
|
permissions:
|
|
contents: read # for actions/checkout to fetch code
|
|
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
|
name: Brakeman Scan
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout the repository to the GitHub Actions runner
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
# Customize the ruby version depending on your needs
|
|
- name: Setup Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: '2.7'
|
|
|
|
- name: Setup Brakeman
|
|
env:
|
|
BRAKEMAN_VERSION: '5.4.0'
|
|
run: |
|
|
gem install brakeman --version $BRAKEMAN_VERSION
|
|
|
|
# Execute Brakeman CLI and generate a SARIF output with the security issues identified during the analysis
|
|
- name: Scan
|
|
continue-on-error: true
|
|
run: |
|
|
git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3)
|
|
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@v2
|
|
with:
|
|
sarif_file: output.sarif.json
|