Compare commits

..

No commits in common. "d913e57dea6290f30df693bd6ba7e00e834f1f52" and "a02bc910f12c513693b1d6457cdb4bc3e5846c14" have entirely different histories.

View File

@ -1,10 +1,12 @@
name: PR Checks name: PR Checks
on: on:
push:
branches: ['**']
pull_request: pull_request:
branches: ['**'] branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@ -90,15 +92,24 @@ jobs:
env: env:
UV_NO_PROGRESS: "1" UV_NO_PROGRESS: "1"
run: | run: |
uv pip compile pyproject.toml --no-dev -o requirements-prod.txt && uv run pip-audit --format json --output audit-results.json -r requirements-prod.txt && test ! -s audit-results.json || test "$(cat audit-results.json)" = "[]" echo "Running pip-audit on production dependencies..."
# Audit only production dependencies (exclude dev)
- name: Upload audit log uv pip compile pyproject.toml --no-dev -o requirements-prod.txt
uses: actions/upload-artifact@v3 uv run pip-audit --format json --output audit-results.json -r requirements-prod.txt || true
if: failure()
with: # Parse and display results
name: security-audit if [ -s audit-results.json ] && [ "$(cat audit-results.json)" != "[]" ]; then
path: audit-results.json echo "❌ Found vulnerabilities in production dependencies:"
retention-days: 7 uv run python -c "
import json
data = json.load(open('audit-results.json'))
for vuln in data:
print(f\" - {vuln.get('name', 'unknown')} {vuln.get('version', '')}: {vuln.get('id', '')}\")
"
exit 1
else
echo "✅ No vulnerabilities in production dependencies"
fi
- name: Check for secrets - name: Check for secrets
run: | run: |