Skip to content

Prepare release of 1.19. #141

Prepare release of 1.19.

Prepare release of 1.19. #141

Workflow file for this run

name: CI tests
on:
push:
create:
jobs:
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install Dependency
run: |
python -m pip install -U pip setuptools && python -m pip install -r requirements.txt
- name: Build sdist
run: make sdist
- name: Archive sdist
uses: actions/upload-artifact@v4
with:
name: sdist
path: dist/*.tar.gz
if-no-files-found: ignore
Tests:
strategy:
# Allows for matrix sub-jobs to fail without canceling the rest
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14-dev"]
#include:
# - python-version: "3.14-dev"
# allowed_failure: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependency
run: |
python -m pip install -U pip setuptools && python -m pip install -r requirements.txt
- name: Build
continue-on-error: ${{ matrix.allowed_failure || false }}
run: make local
- name: Run slow tests
continue-on-error: ${{ matrix.allowed_failure || false }}
run: make testslow
- name: Running benchmark
if: startsWith(matrix.python-version, '3.')
run: |
python benchmark/telco_fractions.py -n 250
python benchmark/microbench.py create pydigits
Linux:
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
pyversion: ["cp"]
include:
- 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_24_aarch64
pyversion: "cp311"
- image: manylinux_2_28_aarch64
pyversion: "cp312"
- image: manylinux_2_28_aarch64
pyversion: "cp313"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install Dependency
run: |
python -m pip install -U pip setuptools && python -m pip install --pre -r requirements.txt
- name: Building wheel
run: |
make PYTHON_WHEEL_BUILD_VERSION="${{ matrix.pyversion }}*" sdist wheel_${{ matrix.image }}
- name: Copy wheels in dist
run: cp -v wheelhouse*/*-m*linux*.whl dist/ # manylinux / musllinux
- name: Release
uses: softprops/action-gh-release@v2
if: github.ref_type == 'tag'
with:
files: dist/*cp27*.whl, dist/*cp35*.whl, dist/*cp36*.whl
- name: Archive Wheels
uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.image }}-${{ matrix.pyversion }}
path: dist/*.whl
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-13, windows-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14-dev"]
#include:
# - python-version: "3.14-dev"
# allowed_failure: true
runs-on: ${{ matrix.os }}
env: { MACOSX_DEPLOYMENT_TARGET: 11.0 }
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install -U pip setuptools wheel
python -m pip install --pre -r requirements.txt
- name: Build wheels
run: make sdist wheel
- name: Run slow tests
run: make testslow
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}-${{ matrix.python-version }}
path: dist/*.whl
if-no-files-found: ignore
- name: Running benchmark
run: |
python benchmark/telco_fractions.py -n 250
python benchmark/microbench.py create pydigits
merge-wheels:
needs: [ Linux, non-Linux ]
runs-on: ubuntu-latest
steps:
- name: Merge wheels
uses: actions/upload-artifact/merge@v4
with:
name: all_wheels
pattern: wheels-*
delete-merged: true
compression-level: 9