Skip to content

GitHub Actions

.github/workflows/compliance.yml
name: AI Compliance Check
on:
pull_request:
push:
branches: [main]
jobs:
compliance:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- name: Run Rulestatus
id: compliance
uses: rulestatus/action@v1
with:
frameworks: eu-ai-act
severity-gate: critical
report-format: sarif
- name: Upload to GitHub Code Scanning
uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: ${{ steps.compliance.outputs.sarif-file }}

Evidence gaps appear as inline annotations on pull requests.

jobs:
compliance:
runs-on: ubuntu-latest
permissions:
id-token: write # required for Sigstore OIDC
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- name: Run Rulestatus
uses: rulestatus/action@v1
with:
frameworks: eu-ai-act,iso-42001,nist-ai-rmf
severity-gate: critical
report-format: sarif,json
attest: true # bundle + Sigstore attestation via gh CLI

The bundle is hashed with SHA-256, written to .rulestatus/, and submitted to Sigstore/Rekor using OIDC identity. The artifact-url output links to the retained artifact.

InputDefaultDescription
frameworkseu-ai-actComma-separated list of frameworks to run
severity-gatecriticalFail CI on this severity or higher
report-formatsarifComma-separated output formats: console, json, sarif, pdf, badge, junit
config-path(auto-detect)Path to .rulestatus.yaml if not in project root
output-dircompliance-reportsDirectory for report output files
upload-artifactstrueUpload reports as a retained GitHub Actions artifact
retention-days365Days to retain the uploaded artifact
attestfalseBundle artifacts and attest via Sigstore (requires id-token: write)
OutputDescription
sarif-filePath to the first SARIF output file
report-dirPath to the report output directory
artifact-urlURL of the uploaded GitHub Actions artifact