Pillow/.github/workflows/wheels.yml
2022-02-21 13:33:24 +11:00

146 lines
4.0 KiB
YAML

name: Wheels
on: [push, pull_request, workflow_dispatch]
env:
REPO_DIR: Pillow
BUILD_DEPENDS: ""
TEST_DEPENDS: "pytest pytest-cov pytest-timeout"
WHEEL_SDIR: wheelhouse
jobs:
build:
name: ${{ matrix.python }} ${{ matrix.os-name }} ${{ matrix.platform }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ "ubuntu-20.04", "macos-latest" ]
python: [ "pypy3.7-7.3.7", "3.7", "3.8", "3.9", "3.10" ]
platform: [ "x86_64", "i686" ]
macos-target: [ "10.10" ]
exclude:
- os: "macos-latest"
platform: "i686"
include:
- os: "macos-latest"
os-name: "osx"
- os: "ubuntu-20.04"
os-name: "focal"
- os: "macos-11"
os-name: "osx"
platform: "arm64"
python: "3.10"
macos-target: "11.0"
- os: "macos-11"
os-name: "osx"
platform: "arm64"
python: "3.9"
macos-target: "11.0"
- os: "macos-11"
os-name: "osx"
platform: "arm64"
python: "3.8"
macos-target: "11.0"
env:
BUILD_COMMIT: HEAD
PLAT: ${{ matrix.platform }}
MB_PYTHON_VERSION: ${{ matrix.python }}
TRAVIS_OS_NAME: ${{ matrix.os-name }}
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macos-target }}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Build Wheel
run: .github/workflows/build.sh
- uses: actions/upload-artifact@v2
with:
name: wheels
path: wheelhouse/*.whl
# Uncomment to get SSH access for testing
# - name: Setup tmate session
# if: failure()
# uses: mxschmitt/action-tmate@v3
build-latest:
name: ${{ matrix.python }} ${{ matrix.os-name }} ${{ matrix.platform }} latest
runs-on: ${{ matrix.os }}
if: "!startsWith(github.ref, 'refs/tags/')"
strategy:
fail-fast: false
matrix:
os: [ "ubuntu-20.04", "macos-latest" ]
python: [ "pypy3.7-7.3.7", "3.7", "3.8", "3.9", "3.10" ]
platform: [ "x86_64", "i686" ]
macos-target: [ "10.10" ]
exclude:
- os: "macos-latest"
platform: "i686"
include:
- os: "macos-latest"
os-name: "osx"
- os: "ubuntu-20.04"
os-name: "focal"
- os: "macos-11"
os-name: "osx"
platform: "arm64"
python: "3.10"
macos-target: "11.0"
- os: "macos-11"
os-name: "osx"
platform: "arm64"
python: "3.9"
macos-target: "11.0"
- os: "macos-11"
os-name: "osx"
platform: "arm64"
python: "3.8"
macos-target: "11.0"
env:
BUILD_COMMIT: main
PLAT: ${{ matrix.platform }}
MB_PYTHON_VERSION: ${{ matrix.python }}
TRAVIS_OS_NAME: ${{ matrix.os-name }}
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macos-target }}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Build Wheel
run: .github/workflows/build.sh
- uses: actions/upload-artifact@v2
with:
name: wheels-latest
path: wheelhouse/*.whl
release:
name: Create Release
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/')"
needs: build
steps:
- uses: actions/download-artifact@v2
with:
name: wheels
- name: Upload Release
uses: fnkr/github-action-ghr@v1.3
env:
GHR_PATH: .
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
success:
needs: [build, build-latest]
runs-on: ubuntu-latest
name: Wheels Successful
steps:
- name: Success
run: echo Wheels Successful