name: Crypto Compliance Audit on: pull_request: paths: - 'src/**/*.cs' - 'etc/crypto-plugins-manifest.json' - 'scripts/audit-crypto-usage.ps1' - '.gitea/workflows/crypto-compliance.yml' push: branches: [ main ] paths: - 'src/**/*.cs' - 'etc/crypto-plugins-manifest.json' - 'scripts/audit-crypto-usage.ps1' - '.gitea/workflows/crypto-compliance.yml' jobs: crypto-audit: runs-on: ubuntu-22.04 env: DOTNET_NOLOGO: 1 DOTNET_CLI_TELEMETRY_OPTOUT: 1 TZ: UTC steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 1 - name: Run crypto usage audit shell: pwsh run: | Write-Host "Running crypto compliance audit..." ./scripts/audit-crypto-usage.ps1 -RootPath "$PWD" -FailOnViolations $true -Verbose - name: Upload audit report on failure if: failure() uses: actions/upload-artifact@v4 with: name: crypto-compliance-violations path: | scripts/audit-crypto-usage.ps1 retention-days: 30