Fix Windows installer PATH handling and improve installer UX #17
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: CI | |
| on: | |
| pull_request: | |
| branches: [main, dev] | |
| push: | |
| branches: [main, dev] | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| name: Ruff | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| # actions/checkout@v4 | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 | |
| # actions/setup-python@v5 | |
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 | |
| with: | |
| python-version: "3.11.15" | |
| cache: pip | |
| - name: Install ruff | |
| run: pip install ruff==0.15.13 | |
| - name: Format check | |
| run: python -m ruff format --check src tests | |
| - name: Lint | |
| run: python -m ruff check src tests | |
| typecheck: | |
| name: Mypy | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| # actions/checkout@v4 | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 | |
| # actions/setup-python@v5 | |
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 | |
| with: | |
| python-version: "3.11.15" | |
| cache: pip | |
| - name: Install uv | |
| # astral-sh/setup-uv@v6 | |
| uses: astral-sh/setup-uv@d0d8abe699bfb85fec6de9f7adb5ae17292296ff | |
| - name: Type check | |
| run: uv run --locked --with mypy==2.1.0 --with tomli==2.4.1 --with types-tqdm==4.67.3.20260518 --with pytest==8.4.2 python -m mypy src tests --pretty | |
| test: | |
| name: Pytest | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| # actions/checkout@v4 | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 | |
| # actions/setup-python@v5 | |
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 | |
| with: | |
| python-version: "3.11.15" | |
| cache: pip | |
| - name: Install uv | |
| # astral-sh/setup-uv@v6 | |
| uses: astral-sh/setup-uv@d0d8abe699bfb85fec6de9f7adb5ae17292296ff | |
| - name: Run tests | |
| run: uv run --locked --extra dev pytest -q | |
| - name: Compile Python | |
| run: python -m compileall src tests | |
| gate: | |
| name: CI Gate | |
| if: always() | |
| needs: [lint, typecheck, test] | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Check job results | |
| run: | | |
| echo "lint: ${{ needs.lint.result }}" | |
| echo "typecheck: ${{ needs.typecheck.result }}" | |
| echo "test: ${{ needs.test.result }}" | |
| if [[ "${{ needs.lint.result }}" != "success" ]] || | |
| [[ "${{ needs.typecheck.result }}" != "success" ]] || | |
| [[ "${{ needs.test.result }}" != "success" ]]; then | |
| echo "::error::One or more required CI jobs failed" | |
| exit 1 | |
| fi | |
| echo "Required checks passed" |