name: Wheels on: [push, pull_request, workflow_dispatch] env: REPO_DIR: Pillow BUILD_DEPENDS: "" TEST_DEPENDS: "pytest pytest-cov" 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