|
@@ -0,0 +1,81 @@
|
|
|
+# 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: '20 7 * * 2'
|
|
|
+ push:
|
|
|
+ branches: ["master"]
|
|
|
+
|
|
|
+# Declare default permissions as read only.
|
|
|
+permissions: read-all
|
|
|
+
|
|
|
+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
|
|
|
+ contents: read
|
|
|
+ actions: read
|
|
|
+ # To allow GraphQL ListCommits to work
|
|
|
+ issues: read
|
|
|
+ pull-requests: read
|
|
|
+ # To detect SAST tools
|
|
|
+ checks: read
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - name: Harden Runner
|
|
|
+ uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
|
|
|
+ with:
|
|
|
+ egress-policy: audit
|
|
|
+
|
|
|
+ - name: "Checkout code"
|
|
|
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
+ with:
|
|
|
+ persist-credentials: false
|
|
|
+
|
|
|
+ - name: "Run analysis"
|
|
|
+ uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3
|
|
|
+ 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 Scorecards on a *private* repository
|
|
|
+ # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat.
|
|
|
+ # 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@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
|
|
+ with:
|
|
|
+ name: SARIF file
|
|
|
+ path: results.sarif
|
|
|
+ retention-days: 5
|
|
|
+
|
|
|
+ # Upload the results to GitHub's code scanning dashboard.
|
|
|
+ - name: "Upload to code-scanning"
|
|
|
+ uses: github/codeql-action/upload-sarif@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
|
|
|
+ with:
|
|
|
+ sarif_file: results.sarif
|