89 lines
3.6 KiB
YAML
89 lines
3.6 KiB
YAML
# This workflow uses actions that are not certified by GitHub. They are provided
|
|
# by a third-party and are governed by separate terms of service, privacy
|
|
# policy, and support documentation.
|
|
|
|
name: Scorecard supply-chain security
|
|
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 15 * * 1'
|
|
push:
|
|
branches: [ "main" ]
|
|
|
|
# Declare default permissions as read only.
|
|
permissions: read-all
|
|
|
|
jobs:
|
|
analysis:
|
|
name: Scorecard analysis
|
|
runs-on: ubuntu-22.04
|
|
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
|
|
# Uncomment the permissions below if installing in a private repository.
|
|
# contents: read
|
|
# actions: read
|
|
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2
|
|
with:
|
|
disable-sudo: true
|
|
egress-policy: block
|
|
allowed-endpoints: >
|
|
api.deps.dev:443
|
|
api.github.com:443
|
|
api.osv.dev:443
|
|
api.scorecard.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
|
|
- name: "Checkout code"
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
persist-credentials: false
|
|
- name: "Run analysis"
|
|
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
|
|
with:
|
|
results_file: results.sarif
|
|
results_format: sarif
|
|
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
|
|
# - you want to enable the Branch-Protection check on a *public* repository, or
|
|
# - you are installing Scorecard on a *private* repository
|
|
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
|
|
# repo_token: ${{ secrets.SCORECARD_TOKEN }}
|
|
|
|
# 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.
|
|
- name: "Upload artifact"
|
|
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
|
|
with:
|
|
name: SARIF file
|
|
path: results.sarif
|
|
retention-days: 5
|
|
|
|
# Upload the results to GitHub's code scanning dashboard (optional).
|
|
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
|
|
- name: "Upload to code-scanning"
|
|
uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
|
|
with:
|
|
sarif_file: results.sarif
|