Skip to content

Merge pull request #25 from karellen/require_libpython #100

Merge pull request #25 from karellen/require_libpython

Merge pull request #25 from karellen/require_libpython #100

Workflow file for this run

name: wheel-axle
on:
pull_request:
branches:
- master
push:
branches:
- master
jobs:
build-smoke-test:
runs-on: ${{ matrix.os }}
continue-on-error: false
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
python-version:
- '3.12'
pip-version:
- '24.2'
setuptools-version:
- '75.1'
- '74.1'
- '73.0'
- '72.1'
- '71.1'
- '70.3'
- '69.5'
wheel-version:
- '0.44'
- '0.42.0'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- shell: bash
run: |
echo "PYB_EXTRA_ARGS=--no-venvs" >> $GITHUB_ENV
echo "SETUPTOOLS_VER=~=${{matrix.setuptools-version}}" >> $GITHUB_ENV
echo "PIP_VER=~=${{matrix.pip-version}}" >> $GITHUB_ENV
echo "WHEEL_VER=~=${{matrix.wheel-version}}" >>$GITHUB_ENV
- uses: pybuilder/build@master
with:
checkout: false
with-venv: false
python-version: ${{ matrix.python-version }}
pyb-extra-args: ${{ env.PYB_EXTRA_ARGS }}
read-exclusions:
runs-on: ubuntu-latest
needs: build-smoke-test
outputs:
BUILD_EXCLUSIONS: ${{ steps.read-exclusions-step.outputs.BUILD_EXCLUSIONS }}
steps:
- uses: actions/checkout@v4
- id: read-exclusions-step
run: |
set -xeEu
set -o pipefail
{
echo 'BUILD_EXCLUSIONS<<EOF'
cat ./.github/exclusions.json
echo -e '\nEOF'
} >> "$GITHUB_OUTPUT"
build-ubuntu-py312:
uses: ./.github/workflows/template.yml
with:
os: ubuntu-latest
python-version: '3.12'
deploy: ${{ github.event_name == 'push' }}
deploy-pip: '24.2'
deploy-setuptools: '75.1'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ read-exclusions ]
build-macos-py312:
uses: ./.github/workflows/template.yml
with:
os: macos-13
python-version: '3.12'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ build-ubuntu-py312, read-exclusions ]
build-ubuntu-py311:
uses: ./.github/workflows/template.yml
with:
os: ubuntu-latest
python-version: '3.11'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ read-exclusions ]
build-macos-py311:
uses: ./.github/workflows/template.yml
with:
os: macos-13
python-version: '3.11'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ build-ubuntu-py311, read-exclusions ]
build-ubuntu-py310:
uses: ./.github/workflows/template.yml
with:
os: ubuntu-latest
python-version: '3.10'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ read-exclusions ]
build-macos-py310:
uses: ./.github/workflows/template.yml
with:
os: macos-13
python-version: '3.10'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ build-ubuntu-py310, read-exclusions ]
build-ubuntu-py39:
uses: ./.github/workflows/template.yml
with:
os: ubuntu-latest
python-version: '3.9'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ read-exclusions ]
build-macos-py39:
uses: ./.github/workflows/template.yml
with:
os: macos-13
python-version: '3.9'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ build-ubuntu-py39, read-exclusions ]
build-ubuntu-py38:
uses: ./.github/workflows/template.yml
with:
os: ubuntu-latest
python-version: '3.8'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ read-exclusions ]
build-macos-py38:
uses: ./.github/workflows/template.yml
with:
os: macos-13
python-version: '3.8'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ build-ubuntu-py38, read-exclusions ]
build-ubuntu-py313:
uses: ./.github/workflows/template.yml
with:
os: ubuntu-latest
python-version: '3.13-dev'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ read-exclusions ]
build-macos-py313:
uses: ./.github/workflows/template.yml
with:
os: macos-13
python-version: '3.13-dev'
exclude: ${{ needs.read-exclusions.outputs.BUILD_EXCLUSIONS }}
secrets: inherit
needs: [ build-ubuntu-py313, read-exclusions ]
build-summary:
if: success() || failure()
runs-on: ubuntu-latest
name: Build Summary
needs:
- build-ubuntu-py313
- build-macos-py313
- build-ubuntu-py312
- build-macos-py312
- build-ubuntu-py311
- build-macos-py311
- build-ubuntu-py310
- build-macos-py310
- build-ubuntu-py39
- build-macos-py39
- build-ubuntu-py38
- build-macos-py38
steps:
- name: Check build matrix status
if: |
needs.build-ubuntu-py313.result != 'success' ||
needs.build-macos-py313.result != 'success' ||
needs.build-ubuntu-py312.result != 'success' ||
needs.build-macos-py312.result != 'success' ||
needs.build-ubuntu-py311.result != 'success' ||
needs.build-macos-py311.result != 'success' ||
needs.build-ubuntu-py310.result != 'success' ||
needs.build-macos-py310.result != 'success' ||
needs.build-ubuntu-py39.result != 'success' ||
needs.build-macos-py39.result != 'success' ||
needs.build-ubuntu-py38.result != 'success' ||
needs.build-macos-py38.result != 'success'
run: exit 1