ci.yml yaml
38 lines 1.1 KB
Raw
sha256:8b6186482ebefbdc01e9594fbef1fccdeb05b719ec1be42c31c349fa28cee9e3 Add Python-only CI workflow for Scooling Lab Human 45 days ago
1 name: ci
2
3 on:
4 pull_request:
5 push:
6 branches: [main]
7
8 jobs:
9 scooling-lab:
10 name: scooling lab contract
11 runs-on: ubuntu-latest
12 steps:
13 - uses: actions/checkout@v6
14 - uses: actions/setup-python@v6
15 with:
16 python-version: "3.13"
17 - name: Run unittest suite (7 tiers)
18 run: PYTHONPATH=src python -m unittest discover -s tests
19 - name: Verify dependency BOM is current
20 run: PYTHONPATH=src python -m scooling_lab.bom --check --output DEPENDENCIES.md
21
22 secret-scan:
23 name: secret scan
24 runs-on: ubuntu-latest
25 steps:
26 - uses: actions/checkout@v6
27 with:
28 fetch-depth: 0
29 - name: Install gitleaks
30 env:
31 GITLEAKS_VERSION: 8.24.3
32 run: |
33 curl -sSfL "https://github.com/gitleaks/gitleaks/releases/download/v${GITLEAKS_VERSION}/gitleaks_${GITLEAKS_VERSION}_linux_x64.tar.gz" -o gitleaks.tar.gz
34 tar -xzf gitleaks.tar.gz gitleaks
35 sudo mv gitleaks /usr/local/bin/gitleaks
36 gitleaks version
37 - name: Scan for secrets
38 run: gitleaks detect --source . --redact
File History 1 commit
sha256:8b6186482ebefbdc01e9594fbef1fccdeb05b719ec1be42c31c349fa28cee9e3 Add Python-only CI workflow for Scooling Lab Human 45 days ago