EVOKORE// WORKFLOWS / ci.yml
Brutal Honesty Kitworkflow · 76 lines
.github/workflows/ci.yml
CI / automation
View on GitHub →name: CI
on:
pull_request:
push:
branches:
- main
- master
workflow_dispatch:
permissions:
contents: read
jobs:
tests:
name: Python tests
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
python-version:
- "3.11"
- "3.12"
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: v3.5/requirements.txt
- name: Install test dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest
python -m pip install -r v3.5/requirements.txt
- name: Remove generated output state
run: |
rm -rf .pytest_cache
rm -rf v3.2/.pytest_cache v3.3/.pytest_cache v3.5/.pytest_cache
rm -rf v3.5/out
- name: Run v3.2 tests
working-directory: v3.2
run: python -m pytest tests
- name: Run v3.3 tests
working-directory: v3.3
run: python -m pytest tests
- name: Run v3.5 focused release checks
working-directory: v3.5
run: |
python -m pytest \
tests/test_validator_banner_version_stamp.py \
tests/test_pr_template_merge_snippet.py \
tests/test_validate_pr_brutal_honesty.py::TestR76R77R78GateSkipLoophole \
tests/test_v371_loophole_replay.py \
tests/test_r79_severity_cap.py \
tests/test_r80_rewrite_scope.py \
tests/test_check_brutal_honesty_hook.py \
-v
- name: Run schema drift validation
run: |
python v3.5/scripts/validate_v33_schema_drift.py \
--architecture-doc v3.5/docs/conventions/brutal-honesty-kit/v3.5-architecture.md \
--artifact-dir v3.5/docs/conventions/brutal-honesty-kit/v3.3 \
--v35-artifact-dir v3.5/docs/conventions/brutal-honesty-kit/v3.5