Skip to content

Remove old refined-based literal representation #39

Remove old refined-based literal representation

Remove old refined-based literal representation #39

Workflow file for this run

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