Pillow/.github/workflows/wheels.yml

146 lines
4.0 KiB
YAML
Raw Normal View History

2020-10-23 16:23:03 +03:00
name: Wheels
on: [push, pull_request, workflow_dispatch]
2020-10-23 16:23:03 +03:00
2020-10-24 04:17:04 +03:00
env:
REPO_DIR: Pillow
BUILD_DEPENDS: ""
TEST_DEPENDS: "pytest pytest-cov"
WHEEL_SDIR: wheelhouse
2020-10-23 16:23:03 +03:00
jobs:
build:
2020-10-24 04:17:04 +03:00
name: ${{ matrix.python }} ${{ matrix.os-name }} ${{ matrix.platform }}
runs-on: ${{ matrix.os }}
2020-10-23 16:23:03 +03:00
strategy:
2020-10-24 04:17:04 +03:00
fail-fast: false
2020-10-23 16:23:03 +03:00
matrix:
2021-05-04 19:21:38 +03:00
os: [ "ubuntu-20.04", "macos-latest" ]
2021-11-11 04:16:28 +03:00
python: [ "pypy3.7-7.3.7", "3.7", "3.8", "3.9", "3.10" ]
2020-10-23 16:23:03 +03:00
platform: [ "x86_64", "i686" ]
2021-01-30 02:38:55 +03:00
macos-target: [ "10.10" ]
2020-10-23 17:16:09 +03:00
exclude:
- os: "macos-latest"
platform: "i686"
2020-10-24 04:17:04 +03:00
include:
- os: "macos-latest"
os-name: "osx"
2021-05-04 19:21:38 +03:00
- os: "ubuntu-20.04"
2021-05-04 19:25:19 +03:00
os-name: "focal"
2021-08-15 13:03:09 +03:00
- os: "macos-11"
os-name: "osx"
platform: "arm64"
python: "3.10"
macos-target: "11.0"
2021-06-23 17:45:12 +03:00
- 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"
2020-10-23 16:23:03 +03:00
env:
BUILD_COMMIT: HEAD
PLAT: ${{ matrix.platform }}
MB_PYTHON_VERSION: ${{ matrix.python }}
2020-10-24 04:17:04 +03:00
TRAVIS_OS_NAME: ${{ matrix.os-name }}
2021-01-30 02:38:55 +03:00
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macos-target }}
2020-10-23 16:23:03 +03:00
steps:
- uses: actions/checkout@v2
with:
submodules: true
2020-10-24 04:17:04 +03:00
- uses: actions/setup-python@v2
2020-10-23 16:23:03 +03:00
with:
2020-11-06 15:27:16 +03:00
python-version: 3.9
2020-10-23 16:23:03 +03:00
- name: Build Wheel
2020-10-24 04:17:04 +03:00
run: .github/workflows/build.sh
2020-10-23 16:23:03 +03:00
- uses: actions/upload-artifact@v2
with:
name: wheels
path: wheelhouse/*.whl
2020-10-24 04:17:04 +03:00
# 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:
2021-05-04 19:21:38 +03:00
os: [ "ubuntu-20.04", "macos-latest" ]
2021-11-11 04:16:28 +03:00
python: [ "pypy3.7-7.3.7", "3.7", "3.8", "3.9", "3.10" ]
2020-10-24 04:17:04 +03:00
platform: [ "x86_64", "i686" ]
2021-01-30 02:38:55 +03:00
macos-target: [ "10.10" ]
2020-10-24 04:17:04 +03:00
exclude:
- os: "macos-latest"
platform: "i686"
include:
- os: "macos-latest"
os-name: "osx"
2021-05-04 19:21:38 +03:00
- os: "ubuntu-20.04"
2021-05-04 19:25:19 +03:00
os-name: "focal"
2021-08-15 13:03:09 +03:00
- os: "macos-11"
os-name: "osx"
platform: "arm64"
python: "3.10"
macos-target: "11.0"
2021-06-23 17:45:12 +03:00
- 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"
2020-10-24 04:17:04 +03:00
env:
2021-10-15 16:02:27 +03:00
BUILD_COMMIT: main
2020-10-24 04:17:04 +03:00
PLAT: ${{ matrix.platform }}
MB_PYTHON_VERSION: ${{ matrix.python }}
TRAVIS_OS_NAME: ${{ matrix.os-name }}
2021-01-30 02:38:55 +03:00
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macos-target }}
2020-10-24 04:17:04 +03:00
steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: actions/setup-python@v2
with:
2020-11-06 15:27:16 +03:00
python-version: 3.9
2020-10-24 04:17:04 +03:00
- name: Build Wheel
run: .github/workflows/build.sh
- uses: actions/upload-artifact@v2
with:
name: wheels-latest
path: wheelhouse/*.whl
2020-10-23 18:20:37 +03:00
release:
name: Create Release
runs-on: ubuntu-latest
2020-10-24 04:17:04 +03:00
if: "startsWith(github.ref, 'refs/tags/')"
2020-10-23 18:20:37 +03:00
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 }}
2022-01-04 01:29:34 +03:00
success:
needs: [build, build-latest]
runs-on: ubuntu-latest
name: Wheels Successful
steps:
- name: Success
run: echo Wheels Successful