Skip to content

fix: restore local overrides after alef regeneration #434

fix: restore local overrides after alef regeneration

fix: restore local overrides after alef regeneration #434

Workflow file for this run

name: CI Python
on:
push:
branches: [main]
paths:
- packages/python/**
- scripts/publish/python/**
- crates/html-to-markdown-py/**
- crates/html-to-markdown/**
- pyproject.toml
- uv.lock
- uv.toml
- .task/**
- Taskfile.yaml
- .github/workflows/ci-python.yaml
pull_request:
branches: [main]
paths:
- packages/python/**
- scripts/publish/python/**
- crates/html-to-markdown-py/**
- crates/html-to-markdown/**
- pyproject.toml
- uv.lock
- uv.toml
- .task/**
- Taskfile.yaml
- .github/workflows/ci-python.yaml
permissions:
contents: read
concurrency:
group: ci-python-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
python-tests:
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python: ["3.10", "3.12", "3.14"]
steps:
- name: Checkout
uses: actions/checkout@v6 # v6
- name: Install Task
uses: go-task/setup-task@v2 # v2
with:
version: 3.46.4
- name: Install uv
uses: astral-sh/setup-uv@v7 # v7
with:
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v6 # v6
with:
python-version: ${{ matrix.python }}
- name: Setup Rust
uses: kreuzberg-dev/actions/setup-rust@v1 # v1
with:
components: rustfmt, clippy, llvm-tools-preview
- name: Install Dependencies
uses: nick-fields/retry@v4 # v4
with:
timeout_minutes: 5
max_attempts: 3
retry_wait_seconds: 30
command: |
if [[ "${{ runner.os }}" == "Windows" ]] && [[ -d ".venv" ]]; then
echo "Removing existing .venv directory on Windows"
rm -rf .venv
fi
uv sync --all-extras --no-install-workspace
shell: bash
- name: Build Python Bindings
run: |
uv pip install maturin
cd packages/python && uv run maturin develop --release
shell: bash
- name: Build CLI binary
run: cargo build --release -p html-to-markdown-cli
shell: bash
- name: Run E2E tests
run: task python:e2e:test
shell: bash