Add sc-refactory package and runtime support #293
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Python Tests | |
| on: | |
| push: | |
| branches: [develop, main] | |
| pull_request: | |
| branches: [develop, main] | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| python-version: ['3.14'] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: '.go-version' | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| global-json-file: 'global.json' | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: 1.95.0 | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements-dev.txt | |
| # pytest.ini sets --import-mode=importlib, so tests/ and | |
| # packages/sc-gh-stack/tests (both named "tests") can be collected | |
| # together in one invocation. sc-gh-stack's tests drive real git with | |
| # bash-based gh stubs, so they're skipped on Windows; Windows runs the | |
| # repo tests on their own instead. | |
| - name: Run tests | |
| if: runner.os != 'Windows' | |
| run: pytest tests/ packages/sc-gh-stack/tests -v | |
| - name: Run repo tests (Windows) | |
| if: runner.os == 'Windows' | |
| run: pytest tests/ -v | |
| # Harness unit tests only. NEVER point CI at test-packages/fixtures/ — | |
| # fixture tests (including the generated *-evals ones) execute live | |
| # Claude agent sessions and are run manually/by PQA, not in CI. | |
| # Skipped on Windows: the harness is POSIX-only by design (HOME-override | |
| # isolation, bash setup commands in fixtures, POSIX transcript-path | |
| # encoding) and can never execute fixtures on Windows, so Windows | |
| # coverage of its unit tests guards nothing real. | |
| - name: Run test-harness unit tests | |
| if: runner.os != 'Windows' | |
| run: pytest harness/tests -v | |
| working-directory: test-packages |