name: arena-environments on: push: branches: [main] pull_request: workflow_dispatch: jobs: validate: runs-on: ubuntu-latest strategy: matrix: python: ["3.11", "3.12"] steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v6 with: version: "0.12.5" enable-cache: false - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - name: Enforce library lock policy run: test -z "$(find environments -name uv.lock -print -quit)" - name: Run four-environment floor and ceiling probe run: uv run --with regex python probe.py - name: Run root probe integration test run: uv run --with regex python -m unittest discover -s tests -v - name: Install Redaction Pressure v0.2 run: uv sync --project environments/redaction_pressure --python ${{ matrix.python }} - name: Run Redaction Pressure tests run: >- uv run --project environments/redaction_pressure python -m unittest discover -s environments/redaction_pressure/tests -v - name: Build all environment distributions run: | for environment in redaction_pressure canary_trap fault_localisation schema_migration; do uv build "environments/$environment" --out-dir "dist/$environment" done - name: Verify documented Redaction Pressure entrypoint run: uv run --project environments/redaction_pressure eval --help >/dev/null