Copia local (nao fork, nao submodule) de safedeps, sca-audit, secrets-scan, code-review-security, api-security-review, web-security-review, cve-triage, patch-prioritization, dependency-scanning e hermaguard -- commit exato de origem e licenca de cada uma em skills/NOTICE.md. Elimina o passo de clone externo pro pilar de seguranca do wf-security-review: git clone deste repo ja traz tudo funcional. Corrige tambem o comando de instalacao pro Claude Code nos dois READMEs e no docs/SKILLS.md: Claude Code exige um diretorio por skill (skills/<nome>/SKILL.md), nao aceita os .md soltos que o comando antigo copiava -- confirmado testando a instalacao real.
60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
test:
|
|
name: Tests (Python ${{ matrix.python-version }})
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version: ['3.10', '3.11', '3.12']
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Run tool test suite
|
|
run: python3 -m unittest test_tools.py test_coverage.py test_loop.py test_verify.py test_research.py test_mcp.py -v
|
|
|
|
- name: Byte-compile every tool (syntax gate)
|
|
run: |
|
|
set -e
|
|
find tools mcp -name '*.py' -print0 | xargs -0 -n1 python3 -m py_compile
|
|
|
|
- name: Packaging test — pip install into a fresh venv
|
|
run: python3 -m unittest test_packaging.py -v
|
|
|
|
- name: Benchmark scorer smoke test
|
|
run: |
|
|
python3 tools/hermaguard-benchmark/benchmark.py --help >/dev/null
|
|
echo "benchmark scorer: OK"
|
|
|
|
- name: Grader smoke test
|
|
run: |
|
|
python3 tools/hermaguard-grader/hermaguard_grader.py --self-test >/dev/null
|
|
echo "grader: OK"
|
|
|
|
- name: Coverage checklist self-check
|
|
run: |
|
|
python3 tools/hermaguard-coverage/hermaguard-coverage.py --self-check
|
|
echo "coverage checklist: OK"
|
|
|
|
actionlint:
|
|
name: Lint GitHub Actions
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Run actionlint on all workflow files
|
|
run: |
|
|
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
|
|
./actionlint -shellcheck= .github/workflows/ci.yml integrations/github-action/action.yml
|