Skip to content

lxml: build cp314 wheels #4

lxml: build cp314 wheels

lxml: build cp314 wheels #4

Workflow file for this run

name: Build lxml wheel
on:
push: {}
jobs:
build:
strategy:
fail-fast: true
matrix:
os:
- ubuntu-latest
- windows-2019
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
repository: lxml/lxml
ref: 4660da0bd7e3670919a20aef8fba1e9f7cb9391e
- uses: actions/setup-python@v5
with:
python-version: "3.14-dev"
- name: Install python deps
run: |
pip install -U build wheel
- name: Build lxml wheel
shell: bash
run: >
LIBXML2_VERSION=2.13.8
LIBXSLT_VERSION=1.1.43
STATIC_DEPS=true
WITH_CYTHON=true
CFLAGS="-O3 -g1 -pipe -fPIC -flto"
LDFLAGS="-fPIC -flto"
MULTICORE=2
python -m build --wheel
- name: Validate built wheel
shell: bash
run: |
pip install ./dist/lxml-*.whl
python -c 'import lxml.etree;[print(f"lxml.etree.{k} == {getattr(lxml.etree,k)}") for k in ["__version__","LIBXML_VERSION","LIBXSLT_VERSION"]]'
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: ./dist/lxml-*.whl
deploy:
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
needs:
- build
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- run: mkdir dist
- uses: actions/download-artifact@v4
with:
path: ./dist
- name: Release
uses: ncipollo/release-action@36e78ab6296394ce36f72f6488e68c2353b50514
with:
artifacts: dist/**/*.whl