Skip to content

Allstar (Scorecard GitHub App) #9

Allstar (Scorecard GitHub App)

Allstar (Scorecard GitHub App) #9

Workflow file for this run

---
name: Allstar (Scorecard GitHub App)
on:
push:
branches:
- main
schedule:
# Daily at 00:00 UTC
- cron: '0 0 * * *'
workflow_dispatch: {}
permissions: {}
env:
ARTIFACT_DIR: /tmp/artifacts
jobs:
scan:
runs-on: ubuntu-latest
environment: prod
permissions:
contents: read
steps:
- name: Checkout Allstar source
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: ossf/allstar
ref: results-json-output
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version-file: go.mod
- name: Build Allstar
run: go build -o allstar ./cmd/allstar/
- name: Create artifact directory
run: mkdir "$ARTIFACT_DIR"
- name: Run Allstar policy check
env:
NOTICE_PING_DURATION_HOURS: '168'
DO_NOTHING_ON_OPT_OUT: 'true'
ALLSTAR_LOG_LEVEL: info
KEY_SECRET: direct
APP_ID: ${{ vars.APP_ID }}
PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
run: |
./allstar -once -policy "OpenSSF Scorecard" -results-file "$ARTIFACT_DIR/results.json" 2> "$ARTIFACT_DIR/allstar.log" | tee "$ARTIFACT_DIR/allstar.out"
if [ -s "$ARTIFACT_DIR/allstar.log" ]; then
echo "==== Errors ===="
cat "$ARTIFACT_DIR/allstar.log"
fi
- name: Archive Allstar results
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: allstar-scan
path: ${{ env.ARTIFACT_DIR }}
monitor:
runs-on: ubuntu-latest
needs: scan
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout this repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Download scan artifacts
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: allstar-scan
path: ${{ env.ARTIFACT_DIR }}
- name: OpenSSF Scorecard Monitor
uses: ossf/scorecard-monitor@local-results # TODO: pin to release once merged
id: scorecard-monitor
with:
results-path: ${{ env.ARTIFACT_DIR }}/results.json
database: reports/database.json
report: reports/scorecard-report.md
auto-commit: false
auto-push: false
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Create pull request
uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # v7.0.9
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Update Scorecard Monitor report
title: Update Scorecard Monitor report
body: Automated Scorecard report update from Allstar scan.
base: main
branch: scorecard-report-update
delete-branch: true