Use scipy for model free designs #362
Workflow file for this run
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: Tests | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| core_tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install core dependencies (no GPy) | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install .[tests] | |
| # work around issues with GPy setting matplotlib backend (defensive even w/o GPy) | |
| echo 'backend: Agg' > matplotlibrc | |
| - name: Unit tests (core) | |
| run: | | |
| python -m pytest tests | |
| - name: Integration tests (core) | |
| run: | | |
| pip install .[integration-tests] | |
| python -m pytest integration_tests | |
| gpy_tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.11"] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies with GPy extra | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install ".[tests, gpy]" | |
| echo 'backend: Agg' > matplotlibrc | |
| - name: Unit tests (with GPy) | |
| run: | | |
| python -m pytest tests -m 'gpy or not gpy' | |
| - name: Integration tests (with GPy) | |
| run: | | |
| pip install ".[integration-tests, examples]" | |
| python -m pytest integration_tests -m 'gpy or not gpy' | |
| os_versions: | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python 3.10 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.10" | |
| - name: Install dependencies (core) | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install .[tests] | |
| # work around issues with GPy setting matplotlib backend (defensive even w/o GPy) | |
| echo 'backend: Agg' > matplotlibrc | |
| - name: Unit tests (core, multi-OS) | |
| run: | | |
| python -m pytest tests | |
| all-pass: | |
| if: always() | |
| needs: [core_tests, gpy_tests, os_versions] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check all tests pass | |
| run: | | |
| if [[ "${{ needs.core_tests.result }}" != "success" && "${{ needs.core_tests.result }}" != "skipped" ]] || \ | |
| [[ "${{ needs.gpy_tests.result }}" != "success" && "${{ needs.gpy_tests.result }}" != "skipped" ]] || \ | |
| [[ "${{ needs.os_versions.result }}" != "success" && "${{ needs.os_versions.result }}" != "skipped" ]]; then | |
| echo "One or more test jobs failed" | |
| exit 1 | |
| fi |