github.com/gemaraproj/gemara@v1.5.0

.github/workflows/baseline-scanner.yml raw

 1name: OSPS Baseline Scanner
 2
 3on:
 4  schedule:
 5    # Run weekly on Mondays at 9 AM UTC
 6    - cron: "0 9 * * 1"
 7  workflow_dispatch: # Allow manual triggering
 8
 9jobs:
10  osps-assessment:
11    runs-on: ubuntu-latest
12    name: Baseline Scan
13
14    permissions:
15      contents: read
16      security-events: write # Required for SARIF upload
17
18    steps:
19      - name: Checkout repository
20        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
21
22      - name: Generate GitHub App token
23        uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
24        id: app-token
25        with:
26          client-id: ${{ secrets.GEMARA_AUTOMATION_CLIENT_ID }}
27          private-key: ${{ secrets.GEMARA_AUTOMATION_PRIVATE_KEY }}
28          owner: ${{ github.repository_owner }}
29          repositories: ${{ github.repository }}
30          permission-contents: read
31          permission-administration: read
32
33      - name: Run Baseline Action
34        uses: revanite-io/osps-baseline-action@b7d860b68755627c30ab692473511c90daee3ae8 # v1.3.4
35        with:
36          owner: ${{ github.repository_owner }}
37          repo: ${{ github.event.repository.name }}
38          token: ${{ steps.app-token.outputs.token }}
39          catalog: "osps-baseline-2026-02"
40          upload-sarif: "true"
41
42      - name: Upload Assessment Results
43        if: always()
44        uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
45        with:
46          name: osps-assessment-results-${{ github.run_number }}
47          path: evaluation_results/
48          retention-days: 30