mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-27 17:54:32 +03:00
Merge pull request #169 from nulano/gha
This commit is contained in:
commit
4462509050
38
.github/workflows/build.sh
vendored
Executable file
38
.github/workflows/build.sh
vendored
Executable file
|
@ -0,0 +1,38 @@
|
|||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
if [[ "$MB_PYTHON_VERSION" == "pypy3.6-7.3" ]]; then
|
||||
# for https://foss.heptapod.net/pypy/pypy/-/issues/3229
|
||||
# TODO remove when that is fixed
|
||||
brew install tcl-tk
|
||||
fi
|
||||
# these cause a conflict with built webp and libtiff
|
||||
brew remove --ignore-dependencies webp zstd xz libtiff
|
||||
fi
|
||||
|
||||
if [[ "$MB_PYTHON_VERSION" == "pypy3.6-7.3" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" != "macos-latest" ]]; then
|
||||
MB_ML_VER="2010"
|
||||
DOCKER_TEST_IMAGE="multibuild/xenial_$PLAT"
|
||||
else
|
||||
MB_PYTHON_OSX_VER="10.9"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "::group::Install a virtualenv"
|
||||
source multibuild/common_utils.sh
|
||||
source multibuild/travis_steps.sh
|
||||
# can't use default 7.3.1 on macOS due to https://foss.heptapod.net/pypy/pypy/-/issues/3229
|
||||
LATEST_PP_7p3=7.3.2
|
||||
pip install virtualenv
|
||||
before_install
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Build wheel"
|
||||
clean_code $REPO_DIR $BUILD_COMMIT
|
||||
build_wheel $REPO_DIR $PLAT
|
||||
ls -l "${GITHUB_WORKSPACE}/${WHEEL_SDIR}/"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Test wheel"
|
||||
install_run $PLAT
|
||||
echo "::endgroup::"
|
104
.github/workflows/wheels.yml
vendored
Normal file
104
.github/workflows/wheels.yml
vendored
Normal file
|
@ -0,0 +1,104 @@
|
|||
|
||||
name: Wheels
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
env:
|
||||
REPO_DIR: Pillow
|
||||
BUILD_DEPENDS: ""
|
||||
TEST_DEPENDS: "pytest pytest-cov"
|
||||
MACOSX_DEPLOYMENT_TARGET: "10.10"
|
||||
WHEEL_SDIR: wheelhouse
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: ${{ matrix.python }} ${{ matrix.os-name }} ${{ matrix.platform }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ "ubuntu-16.04", "macos-latest" ]
|
||||
python: [ "pypy3.6-7.3", "3.6", "3.7", "3.8", "3.9" ]
|
||||
platform: [ "x86_64", "i686" ]
|
||||
exclude:
|
||||
- os: "macos-latest"
|
||||
platform: "i686"
|
||||
include:
|
||||
- os: "macos-latest"
|
||||
os-name: "osx"
|
||||
- os: "ubuntu-16.04"
|
||||
os-name: "xenial"
|
||||
env:
|
||||
BUILD_COMMIT: HEAD
|
||||
PLAT: ${{ matrix.platform }}
|
||||
MB_PYTHON_VERSION: ${{ matrix.python }}
|
||||
TRAVIS_OS_NAME: ${{ matrix.os-name }}
|
||||
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-16.04", "macos-latest" ]
|
||||
python: [ "pypy3.6-7.3", "3.6", "3.7", "3.8", "3.9" ]
|
||||
platform: [ "x86_64", "i686" ]
|
||||
exclude:
|
||||
- os: "macos-latest"
|
||||
platform: "i686"
|
||||
include:
|
||||
- os: "macos-latest"
|
||||
os-name: "osx"
|
||||
- os: "ubuntu-16.04"
|
||||
os-name: "xenial"
|
||||
env:
|
||||
BUILD_COMMIT: master
|
||||
PLAT: ${{ matrix.platform }}
|
||||
MB_PYTHON_VERSION: ${{ matrix.python }}
|
||||
TRAVIS_OS_NAME: ${{ matrix.os-name }}
|
||||
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 }}
|
184
.travis.yml
184
.travis.yml
|
@ -16,84 +16,6 @@ services: docker
|
|||
|
||||
jobs:
|
||||
include:
|
||||
- name: "3.6 macOS"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.6
|
||||
|
||||
- name: "3.6 Xenial"
|
||||
os: linux
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.6
|
||||
- name: "3.6 Xenial 32-bit"
|
||||
os: linux
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.6
|
||||
- PLAT=i686
|
||||
|
||||
- name: "3.7 macOS"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.7
|
||||
- name: "3.8 macOS"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.8
|
||||
- name: "3.9 macOS"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.9
|
||||
|
||||
- name: "3.7 Xenial"
|
||||
os: linux
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.7
|
||||
- name: "3.7 Xenial 32-bit"
|
||||
os: linux
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.7
|
||||
- PLAT=i686
|
||||
- name: "3.8 Xenial"
|
||||
os: linux
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.8
|
||||
- name: "3.8 Xenial 32-bit"
|
||||
os: linux
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.8
|
||||
- PLAT=i686
|
||||
- name: "3.9 Xenial"
|
||||
os: linux
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.9
|
||||
- name: "3.9 Xenial 32-bit"
|
||||
os: linux
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.9
|
||||
- PLAT=i686
|
||||
|
||||
- name: "3.6 macOS PyPy"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
env:
|
||||
- MB_PYTHON_VERSION=pypy3.6-7.3
|
||||
- MB_PYTHON_OSX_VER=10.9
|
||||
- name: "3.6 Xenial 64-bit PyPy"
|
||||
os: linux
|
||||
env:
|
||||
- MB_PYTHON_VERSION=pypy3.6-7.3
|
||||
- MB_ML_VER=2010
|
||||
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
|
||||
|
||||
- name: "3.6 Xenial aarch64"
|
||||
arch: arm64
|
||||
env:
|
||||
|
@ -125,112 +47,6 @@ jobs:
|
|||
- MB_PYTHON_VERSION=3.9
|
||||
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
|
||||
|
||||
- name: "3.6 macOS latest"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.6
|
||||
- LATEST="true"
|
||||
|
||||
- name: "3.6 Xenial latest"
|
||||
os: linux
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.6
|
||||
- LATEST="true"
|
||||
- name: "3.6 Xenial 32-bit latest"
|
||||
os: linux
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.6
|
||||
- PLAT=i686
|
||||
- LATEST="true"
|
||||
|
||||
- name: "3.7 macOS latest"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.7
|
||||
- LATEST="true"
|
||||
- name: "3.8 macOS latest"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.8
|
||||
- LATEST="true"
|
||||
- name: "3.9 macOS latest"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.9
|
||||
- LATEST="true"
|
||||
|
||||
- name: "3.7 Xenial latest"
|
||||
os: linux
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.7
|
||||
- LATEST="true"
|
||||
- name: "3.7 Xenial 32-bit latest"
|
||||
os: linux
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.7
|
||||
- PLAT=i686
|
||||
- LATEST="true"
|
||||
- name: "3.8 Xenial latest"
|
||||
os: linux
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.8
|
||||
- LATEST="true"
|
||||
- name: "3.8 Xenial 32-bit latest"
|
||||
os: linux
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.8
|
||||
- PLAT=i686
|
||||
- LATEST="true"
|
||||
- name: "3.9 Xenial latest"
|
||||
os: linux
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.9
|
||||
- LATEST="true"
|
||||
- name: "3.9 Xenial 32-bit latest"
|
||||
os: linux
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=3.9
|
||||
- PLAT=i686
|
||||
- LATEST="true"
|
||||
|
||||
- name: "3.6 macOS PyPy latest"
|
||||
os: osx
|
||||
osx_image: xcode9.3
|
||||
language: generic
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=pypy3.6-7.3
|
||||
- MB_PYTHON_OSX_VER=10.9
|
||||
- LATEST="true"
|
||||
- name: "3.6 Xenial 64-bit PyPy latest"
|
||||
os: linux
|
||||
if: tag IS blank
|
||||
env:
|
||||
- MB_PYTHON_VERSION=pypy3.6-7.3
|
||||
- MB_ML_VER=2010
|
||||
- DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT}
|
||||
- LATEST="true"
|
||||
|
||||
- name: "3.6 Xenial aarch64 latest"
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
|
12
config.sh
12
config.sh
|
@ -58,23 +58,13 @@ function pre_build {
|
|||
build_lcms2
|
||||
build_openjpeg
|
||||
|
||||
if [ -n "$IS_OSX" ]; then
|
||||
# Custom flags to allow building on OS X 10.10 and 10.11
|
||||
build_giflib
|
||||
|
||||
ORIGINAL_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS=""
|
||||
fi
|
||||
CFLAGS="$CFLAGS -O3 -DNDEBUG"
|
||||
build_libwebp
|
||||
CFLAGS=$ORIGINAL_CFLAGS
|
||||
if [ -n "$IS_OSX" ]; then
|
||||
CPPFLAGS=$ORIGINAL_CPPFLAGS
|
||||
fi
|
||||
|
||||
if [ -n "$IS_OSX" ]; then
|
||||
# Custom freetype build
|
||||
build_simple freetype $FREETYPE_VERSION https://download.savannah.gnu.org/releases/freetype tar.gz --with-harfbuzz=no
|
||||
build_simple freetype $FREETYPE_VERSION https://download.savannah.gnu.org/releases/freetype tar.gz --with-harfbuzz=no --with-brotli=no
|
||||
else
|
||||
build_freetype
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue
Block a user