presets: fold notation as a convention, and a sheet that shows it #48
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: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| # M1 acceptance criterion 7: green on Linux, macOS and Windows. | |
| # Full Python matrix on Linux; one version elsewhere keeps the run cheap | |
| # while still catching path and encoding differences. | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - { os: ubuntu-latest, python: "3.11" } | |
| - { os: ubuntu-latest, python: "3.12" } | |
| - { os: ubuntu-latest, python: "3.13" } | |
| - { os: macos-latest, python: "3.12" } | |
| - { os: windows-latest, python: "3.12" } | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v9.0.0 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python ${{ matrix.python }} | |
| run: uv python install ${{ matrix.python }} | |
| - name: Install project | |
| run: uv sync --extra dev --python ${{ matrix.python }} | |
| - name: Lint | |
| run: uv run ruff check . | |
| - name: Test | |
| run: uv run pytest | |
| # The dimensional test is the point of the whole suite (§ 13.2), so it also | |
| # runs on its own: if it ever gets skipped or silently removed, this job goes | |
| # red instead of the suite quietly passing without it. | |
| dimensional: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: astral-sh/setup-uv@v9.0.0 | |
| with: | |
| enable-cache: true | |
| - run: uv sync --extra dev | |
| - name: Dimensional accuracy | |
| run: uv run pytest tests/test_dimensional.py -v | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: astral-sh/setup-uv@v9.0.0 | |
| - name: Build wheel and sdist | |
| run: uv build | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: dist | |
| path: dist/ |