| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache license, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the license for the specific language governing permissions and |
| # limitations under the license. |
| |
| name: "Scorecards supply-chain security" |
| |
| on: |
| branch_protection_rule: |
| schedule: |
| - cron: "30 1 * * 6" # Weekly on Saturdays |
| push: |
| branches: [ "master" ] |
| |
| permissions: read-all |
| |
| jobs: |
| |
| analysis: |
| |
| name: "Scorecards analysis" |
| runs-on: ubuntu-latest |
| permissions: |
| # Needed to upload the results to the 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: "Checkout code" |
| uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 |
| with: |
| persist-credentials: false |
| |
| - name: "Run analysis" |
| uses: ossf/scorecard-action@08b4669551908b1024bb425080c797723083c031 # 2.2.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@97a0fba1372883ab732affbe8f94b823f91727db # v3.pre.node20 |
| 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@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 |
| with: |
| sarif_file: results.sarif |