Skip to content

lxml-4.9.3-1

lxml-4.9.3-1 #27

Workflow file for this run

name: Wheel build
on:
release:
types: [created]
permissions: {}
jobs:
sdist:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Install lib dependencies
run: sudo apt-get update -y -q && sudo apt-get install -y -q "libxml2=2.9.13*" "libxml2-dev=2.9.13*" libxslt1.1 libxslt1-dev
- name: Install Python dependencies
run: python -m pip install -U pip setuptools && python -m pip install -U docutils pygments sphinx sphinx-rtd-theme -r requirements.txt
- name: Build docs and sdist
run: make html sdist
env: { STATIC_DEPS: false }
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: dist/*.tar.gz
- name: Upload sdist
uses: actions/upload-artifact@v3
with:
name: sdist
path: dist/*.tar.gz
- name: Upload website
uses: actions/upload-artifact@v3
with:
name: website
path: doc/html
Linux:
runs-on: ubuntu-latest
permissions:
contents: write
strategy:
# Allows for matrix sub-jobs to fail without canceling the rest
fail-fast: false
matrix:
image:
- manylinux1_x86_64
- manylinux1_i686
- manylinux_2_24_i686
- manylinux_2_24_x86_64
- manylinux_2_28_x86_64
- musllinux_1_1_x86_64
#- manylinux_2_24_ppc64le
#- manylinux_2_24_ppc64le
#- manylinux_2_24_s390x
pyversion: ["*"]
exclude:
- image: manylinux_2_24_aarch64
pyversion: "*"
- image: musllinux_1_1_aarch64
pyversion: "*"
include:
- image: manylinux2014_aarch64
pyversion: "cp36*"
- image: manylinux_2_24_aarch64
pyversion: "cp37*"
- image: manylinux_2_24_aarch64
pyversion: "cp38*"
- image: manylinux_2_24_aarch64
pyversion: "cp39*"
- image: manylinux_2_24_aarch64
pyversion: "cp310*"
- image: manylinux_2_28_aarch64
pyversion: "cp311*"
- image: manylinux_2_28_aarch64
pyversion: "cp312*"
- image: musllinux_1_1_aarch64
pyversion: "cp36*"
- image: musllinux_1_1_aarch64
pyversion: "cp37*"
- image: musllinux_1_1_aarch64
pyversion: "cp38*"
- image: musllinux_1_1_aarch64
pyversion: "cp39*"
- image: musllinux_1_1_aarch64
pyversion: "cp310*"
- image: musllinux_1_1_aarch64
pyversion: "cp311*"
- image: musllinux_1_1_aarch64
pyversion: "cp312*"
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Install lib dependencies
run: sudo apt-get update -y -q && sudo apt-get install -y -q "libxml2=2.9.13*" "libxml2-dev=2.9.13*" libxslt1.1 libxslt1-dev
- name: Install dependencies
run: python -m pip install -r requirements.txt
- name: Build sdist
run: make sdist
env: { STATIC_DEPS: false }
- name: Build Linux wheels
run: make wheel_${{ matrix.image }}
env: { STATIC_DEPS: true, PYTHON_BUILD_VERSION: "${{ matrix.pyversion }}" }
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: wheelhouse/*/*-m*linux*.whl # manylinux / musllinux
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels-${{ matrix.image }}
path: wheelhouse/*/*-m*linux*.whl # manylinux / musllinux
if-no-files-found: ignore
non-Linux:
strategy:
# Allows for matrix sub-jobs to fail without canceling the rest
fail-fast: false
matrix:
os: [macos-latest, windows-2019]
#os: [macos-10.15, windows-latest]
#os: [macos-10.15]
python-version:
- "2.7"
- "3.6"
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12-dev"
- "pypy-3.8-v7.3.7"
- "pypy-3.9-v7.3.12"
#include:
# - os: windows-2016
# python-version: 2.7
exclude:
- os: windows-2019
python-version: 2.7 # needs older image
runs-on: ${{ matrix.os }}
permissions:
contents: write
env: { LIBXML2_VERSION: 2.10.3, LIBXSLT_VERSION: 1.1.38, MACOSX_DEPLOYMENT_TARGET: 11.0 }
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
if: startsWith(matrix.python-version, '3.') || startsWith(matrix.python-version, 'pypy')
with:
python-version: ${{ matrix.python-version }}
- name: Install MacOS dependencies
if: startsWith(runner.os, 'mac')
run: |
brew install automake libtool
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
- name: Install dependencies
run: python -m pip install setuptools wheel -r requirements.txt
- name: Build wheels
run: make wheel
env: { STATIC_DEPS: true, RUN_TESTS: true }
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: dist/lxml-*.whl
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels-${{ matrix.os }}
path: dist/lxml-*.whl
if-no-files-found: ignore