Skip to content

Fix Windows installer PATH handling and improve installer UX #17

Fix Windows installer PATH handling and improve installer UX

Fix Windows installer PATH handling and improve installer UX #17

Workflow file for this run

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"