Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Integration Tests

on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- 'every_python/**'
- '.github/workflows/integration.yml'
pull_request:
branches: [ main ]
paths:
- 'every_python/**'
- '.github/workflows/integration.yml'

jobs:
integration:
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-24.04
os: Linux
- runner: windows-2022
os: Windows
- runner: macos-14
os: macOS
steps:
- uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.14"

- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y lsof
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh 20
echo "$(llvm-config-20 --bindir)" >> $GITHUB_PATH

- name: Install LLVM (macOS)
if: runner.os == 'macOS'
run: brew install llvm@20

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true

- name: Install dependencies
run: uv sync --all-groups

- name: Install package in editable mode
run: uv pip install -e .

- name: Test LLVM detection (Linux/macOS)
if: runner.os != 'Windows'
run: |
uv run python -c "from every_python.utils import check_llvm_available; import sys; sys.exit(0 if check_llvm_available('20') else 1)"

- name: Test build without JIT
run: uv run every-python install v3.13.0 --verbose

- name: Verify non-JIT build works
run: uv run every-python run v3.13.0 -- --version

- name: Test build with JIT
run: uv run every-python install main --jit --verbose

- name: Verify JIT build works
run: uv run every-python run main --jit -- --version
10 changes: 6 additions & 4 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ on:
push:
branches: [ main ]
paths:
- 'every-python/**/*.py'
- 'every_python/**'
- 'tests/**'
- '.github/workflows/lint.yml'
pull_request:
branches: [ main ]
paths:
- 'every-python/**/*.py'
- 'every_python/**'
- 'tests/**'
- '.github/workflows/lint.yml'

jobs:
Expand All @@ -32,7 +34,7 @@ jobs:
run: uv sync

- name: Run Ruff linter
run: uv run ruff check every-python/
run: uv run ruff check every_python/

- name: Run Ruff formatter
run: uv run ruff format --check every-python/
run: uv run ruff format --check every_python/
39 changes: 29 additions & 10 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,50 @@ on:
push:
branches: [ main ]
paths:
- 'every-python/**'
- 'every_python/**'
- 'tests/**'
- 'pyproject.toml'
- '.github/workflows/test.yml'
pull_request:
branches: [ main ]
paths:
- 'every-python/**'
- 'every_python/**'
- 'tests/**'
- 'pyproject.toml'
- '.github/workflows/test.yml'

jobs:
test:
runs-on: ${{ matrix.os }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
include:
- target: x86_64-unknown-linux-gnu/gcc
architecture: x86_64
runner: ubuntu-24.04
- target: aarch64-unknown-linux-gnu/gcc
architecture: aarch64
runner: ubuntu-24.04-arm
- target: x86_64-pc-windows-msvc/msvc
architecture: x64
runner: windows-2022
- target: aarch64-pc-windows-msvc/msvc
architecture: ARM64
runner: windows-11-arm
- target: x86_64-apple-darwin/clang
architecture: x86_64
runner: macos-15-intel
- target: aarch64-apple-darwin/clang
architecture: aarch64
runner: macos-14
steps:
- uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v6
uses: actions/setup-python@v5
with:
python-version: "3.13"

- name: Install system dependencies (Linux only)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y lsof
python-version: "3.14"

- name: Install uv
uses: astral-sh/setup-uv@v7
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@ on:
push:
branches: [ main ]
paths:
- 'every-python/**/*.py'
- 'every-python/pyproject.toml'
- 'every_python/**'
- 'tests/**'
- 'pyproject.toml'
- '.github/workflows/typecheck.yml'
pull_request:
branches: [ main ]
paths:
- 'every-python/**/*.py'
- 'every-python/pyproject.toml'
- 'every_python/**'
- 'tests/**'
- 'pyproject.toml'
- '.github/workflows/typecheck.yml'

jobs:
Expand Down
Loading