name: OpenSSF Scorecard on: branch_protection_rule: push: branches: [main] schedule: - cron: "30 1 * * 6" workflow_dispatch: concurrency: group: scorecard-${{ github.ref }} cancel-in-progress: true permissions: {} jobs: analysis: name: Scorecard analysis runs-on: ubuntu-latest timeout-minutes: 15 if: github.event.repository.default_branch == github.ref_name || github.event_name == 'branch_protection_rule' permissions: actions: read # Read workflow metadata used by Scorecard checks. contents: read # Read the repository being analyzed. id-token: write # Publish signed Scorecard results. security-events: write # Upload the SARIF report to code scanning. steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Run Scorecard uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4 with: results_file: results.sarif results_format: sarif publish_results: true - name: Upload artifact uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: scorecard-results path: results.sarif retention-days: 5 - name: Upload to code scanning uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v4 with: sarif_file: results.sarif