Remove old refined-based literal representation #39
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: [master, main] | |
| pull_request: | |
| branches: [master, main] | |
| jobs: | |
| test: | |
| name: Test py${{ matrix.python-version }} / llvmlite ${{ matrix.llvmlite-version }} on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| python-version: ['3.10', '3.11', '3.12'] | |
| llvmlite-version: ['default'] | |
| include: | |
| # Pinned llvmlite 0.44 (legacy PM, LLVM 15) | |
| - os: ubuntu-latest | |
| python-version: '3.12' | |
| llvmlite-version: '0.44.*' | |
| - os: macos-latest | |
| python-version: '3.12' | |
| llvmlite-version: '0.44.*' | |
| # Pinned llvmlite 0.46 (new PM, LLVM 20) | |
| - os: ubuntu-latest | |
| python-version: '3.12' | |
| llvmlite-version: '0.46.*' | |
| - os: macos-latest | |
| python-version: '3.12' | |
| llvmlite-version: '0.46.*' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| if [ "${{ matrix.llvmlite-version }}" != "default" ]; then | |
| pip install "llvmlite==${{ matrix.llvmlite-version }}" | |
| fi | |
| pip install -e . | |
| - name: Show llvmlite version | |
| run: python -c "import llvmlite; print(f'llvmlite {llvmlite.__version__}')" | |
| - name: Run tests (first run - no cache) | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| echo "=== First run: clean build (no cache) ===" | |
| rm -rf build/ | |
| python test/run_all_tests.py | |
| - name: Run tests (second run - with cache) | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| echo "=== Second run: with cache ===" | |
| python test/run_all_tests.py | |
| test-windows: | |
| name: Test py${{ matrix.python-version }} / llvmlite ${{ matrix.llvmlite-version }} on Windows (zig) | |
| runs-on: windows-latest | |
| timeout-minutes: 10 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.12'] | |
| llvmlite-version: ['default'] | |
| include: | |
| - python-version: '3.12' | |
| llvmlite-version: '0.44.*' | |
| - python-version: '3.12' | |
| llvmlite-version: '0.46.*' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| if ("${{ matrix.llvmlite-version }}" -ne "default") { | |
| pip install "llvmlite==${{ matrix.llvmlite-version }}" | |
| } | |
| pip install -e . | |
| - name: Show llvmlite version | |
| run: python -c "import llvmlite; print(f'llvmlite {llvmlite.__version__}')" | |
| - name: Verify zig is available | |
| run: | | |
| python-zig version | |
| - name: Run tests (first run - no cache) | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| echo "=== First run: clean build (no cache) ===" | |
| if (Test-Path build) { Remove-Item -Recurse -Force build } | |
| python test/run_all_tests.py | |
| - name: Run tests (second run - with cache) | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| echo "=== Second run: with cache ===" | |
| python test/run_all_tests.py | |
| test-arm64: | |
| name: Test on ARM64 (AArch64) | |
| runs-on: ubuntu-24.04-arm | |
| continue-on-error: true # ARM64 runner may not be available | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e . | |
| - name: Run tests (first run - no cache) | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| echo "=== First run: clean build (no cache) ===" | |
| rm -rf build/ | |
| python test/run_all_tests.py | |
| - name: Run tests (second run - with cache) | |
| env: | |
| PYTHONPATH: . | |
| run: | | |
| echo "=== Second run: with cache ===" | |
| python test/run_all_tests.py | |
| lint: | |
| name: Lint Check | |
| runs-on: ubuntu-latest | |
| continue-on-error: true # Don't block CI on lint errors for now | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install ruff | |
| - name: Run Ruff linter | |
| run: ruff check pythoc/ --output-format=github || true | |
| - name: Run Ruff formatter check | |
| run: ruff format --check pythoc/ || true |