| # 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: '18 9 * * 4' | |
| 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 | |
| # Uncomment the permissions below if installing in a private repository. | |
| # contents: read | |
| # actions: read | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 | |
| with: | |
| egress-policy: audit | |
| - name: "Checkout code" | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.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 | |
| # (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#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@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | |
| 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@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.29.5 | |
| with: | |
| sarif_file: results.sarif |