Scorecard supply-chain security #37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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: '32 7 * * 1' | |
| push: | |
| branches: [ "main" ] | |
| # Re-score after every successful Publish run so the Signed-Releases check | |
| # sees the freshly attached release-asset sidecars. Without this, the | |
| # Scorecard scan from the pre-release push to main races the publish.yaml | |
| # workflow and captures a stale state where release assets aren't yet | |
| # uploaded. | |
| workflow_run: | |
| workflows: ["Publish"] | |
| types: [completed] | |
| # Declare default permissions as read only. | |
| permissions: read-all | |
| jobs: | |
| analysis: | |
| name: Scorecard analysis | |
| runs-on: ubuntu-latest | |
| # When triggered by workflow_run (after Publish), only proceed if the | |
| # Publish run actually succeeded. No point scoring a failed release. | |
| # For all other triggers (push, schedule, branch_protection_rule) the | |
| # condition evaluates true and the job runs normally. | |
| if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }} | |
| 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: | |
| - name: "Checkout code" | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: "Run analysis" | |
| uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3 | |
| with: | |
| results_file: results.sarif | |
| results_format: sarif | |
| # Publish the results for public repositories to enable scorecard badges. | |
| # For more details, see https://github.com/ossf/scorecard-action#publishing-results. | |
| publish_results: true | |
| # Upload the results to GitHub's code scanning dashboard. | |
| - name: "Upload to code-scanning" | |
| uses: github/codeql-action/upload-sarif@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1 | |
| with: | |
| sarif_file: results.sarif |