Merge pull request #25 from karellen/require_libpython #100
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |