Skip to content

Correct Pillow builds on x86 #33

Correct Pillow builds on x86

Correct Pillow builds on x86 #33

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
workflow_call:
# Cancel active CI runs for a PR before starting another run
concurrency:
group: ${{ github.workflow}}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
env:
FORCE_COLOR: "1"
jobs:
pre-commit:
name: Pre-commit checks
uses: beeware/.github/.github/workflows/pre-commit-run.yml@main
with:
pre-commit-source: "pre-commit"
test:
name: Test builds
needs: pre-commit
runs-on: ${{ matrix.runs-on }}
strategy:
fail-fast: false
matrix:
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
runs-on: [ "macos-latest", "macos-12" ]
exclude:
# Don't need to run x86 tests on every Python version
- python-version: "3.9"
runs-on: "macos-12"
- python-version: "3.10"
runs-on: "macos-12"
- python-version: "3.11"
runs-on: "macos-12"
- python-version: "3.13"
runs-on: "macos-12"
steps:
- name: Checkout
uses: actions/checkout@v4.1.7
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5.2.0
with:
# -dev suffix is a no-op for published releases
python-version: ${{ matrix.python-version }}-dev
# Initial call to the setup script sets up the environment
- name: Set up Forge
run: |
source ./setup-iOS.sh $(cut -d- -f1 <<< ${{ matrix.python-version }})
# Build an example of a native package
# Calling setup script activates existing environment
- name: Build libjpeg
run: |
source ./setup-iOS.sh $(cut -d- -f1 <<< ${{ matrix.python-version }})
forge iOS libjpeg
# Build examples of native packages
# Calling setup script activates existing environment
- name: Build freetype
run: |
source ./setup-iOS.sh $(cut -d- -f1 <<< ${{ matrix.python-version }})
forge iOS freetype
- name: Build freetype
run: |
source ./setup-iOS.sh $(cut -d- -f1 <<< ${{ matrix.python-version }})
forge iOS freetype
# Build an example of a simple Python package
# Calling setup script activates existing environment
- name: Build lru-dict
run: |
source ./setup-iOS.sh $(cut -d- -f1 <<< ${{ matrix.python-version }})
forge iOS lru-dict
# Build a package with dependencies on other packages
- name: Build pillow
run: |
source ./setup-iOS.sh $(cut -d- -f1 <<< ${{ matrix.python-version }})
forge iOS pillow
# Build a package with a complex build system
- name: Build numpy
run: |
source ./setup-iOS.sh $(cut -d- -f1 <<< ${{ matrix.python-version }})
forge iOS numpy
# Build an example of a simple Python package using C++
# Calling setup script activates existing environment
- name: Build brotli
run: |
source ./setup-iOS.sh $(cut -d- -f1 <<< ${{ matrix.python-version }})
forge iOS brotli