79 lines
3.2 KiB
YAML
79 lines
3.2 KiB
YAML
# Based on `scorecard.yml` Github Actions starter workflow:
|
|
# https://github.com/actions/starter-workflows/blob/b1df8a546ed4d0f27d46aaf2f8ac1118bc522638/code-scanning/scorecard.yml
|
|
|
|
# This is separate from the CI workflow due to certain restrictions imposed by the GitHub Action action:
|
|
# https://github.com/ossf/scorecard-action/tree/99cc02c8ee27bab5f5f41e79066e0de91d313dec#workflow-restrictions
|
|
# For consistency, we should keep it a separate workflow across all our Github repositories, regardless if it's actually needed.
|
|
|
|
name: OSSF Scorecard
|
|
on:
|
|
# For Branch-Protection check. Only the default branch is supported. See
|
|
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
|
|
branch_protection_rule: {}
|
|
# To guarantee Maintained check is occasionally updated. See
|
|
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
|
|
schedule:
|
|
- cron: '30 6 * * 5'
|
|
push:
|
|
branches: [master]
|
|
|
|
# Declare default permissions as read only.
|
|
# permissions: read-all
|
|
permissions: {}
|
|
|
|
jobs:
|
|
analysis:
|
|
name: Scorecard analysis
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
# Needed to upload the results to code-scanning dashboard.
|
|
security-events: write
|
|
# Needed to publish results and get a badge (see publish_results below).
|
|
id-token: write
|
|
|
|
steps:
|
|
- uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
|
|
if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
with:
|
|
disable-sudo: true
|
|
egress-policy: block
|
|
allowed-endpoints: >
|
|
api.github.com:443
|
|
api.osv.dev:443
|
|
api.securityscorecards.dev:443
|
|
fulcio.sigstore.dev:443
|
|
github.com:443
|
|
oss-fuzz-build-logs.storage.googleapis.com:443
|
|
rekor.sigstore.dev:443
|
|
tuf-repo-cdn.sigstore.dev:443
|
|
www.bestpractices.dev:443
|
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1
|
|
with:
|
|
results_file: results.sarif
|
|
results_format: sarif
|
|
# Public repositories:
|
|
# - Publish results to OpenSSF REST API for easy access by consumers
|
|
# - Allows the repository to include the Scorecard badge.
|
|
# - See https://github.com/ossf/scorecard-action#publishing-results.
|
|
# For private repositories:
|
|
# - `publish_results` will always be set to `false`, regardless
|
|
# of the value entered here.
|
|
publish_results: true
|
|
|
|
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
|
# format to the repository Actions tab.
|
|
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
|
|
with:
|
|
name: OSSF Scorecard SARIF file
|
|
path: results.sarif
|
|
retention-days: 90
|
|
|
|
# Upload the results to GitHub's code scanning dashboard.
|
|
- uses: github/codeql-action/upload-sarif@1500a131381b66de0c52ac28abb13cd79f4b7ecc # v2.22.12
|
|
with:
|
|
sarif_file: results.sarif
|