Skip to content

refactor: split into 3 repos + Trail of Bits + pyclaude-forge integration #50

refactor: split into 3 repos + Trail of Bits + pyclaude-forge integration

refactor: split into 3 repos + Trail of Bits + pyclaude-forge integration #50

name: Template Integration Tests
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install test dependencies
run: pip install pytest
- name: Run unit tests
run: python -m pytest tests/ -v
integration-test:
name: Integration (${{ matrix.config-name }})
runs-on: ubuntu-latest
needs: unit-tests
strategy:
fail-fast: false
matrix:
include:
- config-name: mono-default
project-type: mono
packages: "core,server"
services: none
- config-name: mono-renamed
project-type: mono
packages: "engine,daemon"
services: none
- config-name: mono-extra-pkgs
project-type: mono
packages: "engine,lib:utils,daemon,worker"
services: none
- config-name: single-package
project-type: single
packages: "core,server" # ignored by setup_project.py in single mode
services: none
- config-name: mono-postgres
project-type: mono
packages: "core,server"
services: postgres
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: astral-sh/setup-uv@v5
with:
version: ">=0.5.0"
- name: Run template integration test
run: |
bash scripts/test_template_integration.sh \
--source-dir "$GITHUB_WORKSPACE" \
--work-dir "/tmp/test-${{ matrix.config-name }}" \
--project-type "${{ matrix.project-type }}" \
--packages "${{ matrix.packages }}" \
--services "${{ matrix.services }}"