Skip to content

πŸ… Security: OpenSSF Scorecard β€” main #136

πŸ… Security: OpenSSF Scorecard β€” main

πŸ… Security: OpenSSF Scorecard β€” main #136

name: "πŸ… Security: OpenSSF Scorecard"
run-name: >-
${{
github.event_name == 'branch_protection_rule' && 'πŸ… Security: OpenSSF Scorecard β€” Branch protection changed' ||
github.event_name == 'schedule' && 'πŸ… Security: OpenSSF Scorecard β€” Weekly schedule' ||
format('πŸ… Security: OpenSSF Scorecard β€” {0}', github.ref_name)
}}
on:
push:
branches:
- main
branch_protection_rule:
schedule:
- cron: '0 6 * * 1' # Weekly on Monday at 06:00 UTC
permissions: read-all
jobs:
analysis:
name: "πŸ… Security: Scorecard Analysis"
# OpenSSF Scorecard only runs on public repos; SARIF upload also requires GHAS.
if: github.event.repository.visibility == 'public'
runs-on: ubuntu-latest
timeout-minutes: 20
permissions:
contents: read # Checkout code
security-events: write # Upload SARIF results
id-token: write # Publish results to OpenSSF REST API
steps:
- name: Harden Runner
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with:
egress-policy: audit
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- name: Run analysis
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
with:
results_file: results.sarif
results_format: sarif
publish_results: true
- name: Upload to code-scanning
uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
with:
sarif_file: results.sarif