Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
221 changes: 126 additions & 95 deletions .github/workflows/apple.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@ name: MacOS Python build

on:
push:
branches: [main]
pull_request:
schedule:
- cron: '13 11 * * *'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

jobs:
pythonbuild:
runs-on: 'macos-13'
runs-on: "macos-13"
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -43,138 +48,164 @@ jobs:
fail-fast: false
matrix:
build:
- target_triple: 'aarch64-apple-darwin'
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: "cpython-3.8"
optimizations: "debug"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: "cpython-3.8"
optimizations: "pgo"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: "cpython-3.8"
optimizations: "pgo+lto"

- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.8'
optimizations: 'debug'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.9"
optimizations: "debug"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.8'
optimizations: 'pgo'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.9"
optimizations: "pgo"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.8'
optimizations: 'pgo+lto'
py: "cpython-3.9"
optimizations: "pgo+lto"

- target_triple: 'aarch64-apple-darwin'
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.9'
optimizations: 'debug'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.10"
optimizations: "debug"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.9'
optimizations: 'pgo'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.10"
optimizations: "pgo"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.9'
optimizations: 'pgo+lto'
py: "cpython-3.10"
optimizations: "pgo+lto"

- target_triple: 'aarch64-apple-darwin'
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.10'
optimizations: 'debug'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.11"
optimizations: "debug"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.10'
optimizations: 'pgo'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.11"
optimizations: "pgo"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.10'
optimizations: 'pgo+lto'
py: "cpython-3.11"
optimizations: "pgo+lto"

- target_triple: 'aarch64-apple-darwin'
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.11'
optimizations: 'debug'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.12"
optimizations: "debug"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.11'
optimizations: 'pgo'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.12"
optimizations: "pgo"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.11'
optimizations: 'pgo+lto'
py: "cpython-3.12"
optimizations: "pgo+lto"

- target_triple: 'aarch64-apple-darwin'
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.12'
optimizations: 'debug'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.13"
optimizations: "debug"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.12'
optimizations: 'pgo'
- target_triple: 'aarch64-apple-darwin'
py: "cpython-3.13"
optimizations: "pgo"
- target_triple: "aarch64-apple-darwin"
runner: macos-14
py: 'cpython-3.12'
optimizations: 'pgo+lto'
py: "cpython-3.13"
optimizations: "pgo+lto"

# macOS on Intel hardware. This is pretty straightforward. We exclude
# noopt because it doesn't provide any compelling advantages over PGO
# or LTO builds.
- target_triple: 'x86_64-apple-darwin'
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: "cpython-3.8"
optimizations: "debug"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: "cpython-3.8"
optimizations: "pgo"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: "cpython-3.8"
optimizations: "pgo+lto"

- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.8'
optimizations: 'debug'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.9"
optimizations: "debug"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.8'
optimizations: 'pgo'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.9"
optimizations: "pgo"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.8'
optimizations: 'pgo+lto'
py: "cpython-3.9"
optimizations: "pgo+lto"

- target_triple: 'x86_64-apple-darwin'
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.9'
optimizations: 'debug'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.10"
optimizations: "debug"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.9'
optimizations: 'pgo'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.10"
optimizations: "pgo"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.9'
optimizations: 'pgo+lto'
py: "cpython-3.10"
optimizations: "pgo+lto"

- target_triple: 'x86_64-apple-darwin'
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.10'
optimizations: 'debug'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.11"
optimizations: "debug"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.10'
optimizations: 'pgo'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.11"
optimizations: "pgo"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.10'
optimizations: 'pgo+lto'
py: "cpython-3.11"
optimizations: "pgo+lto"

- target_triple: 'x86_64-apple-darwin'
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.11'
optimizations: 'debug'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.12"
optimizations: "debug"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.11'
optimizations: 'pgo'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.12"
optimizations: "pgo"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.11'
optimizations: 'pgo+lto'
py: "cpython-3.12"
optimizations: "pgo+lto"

- target_triple: 'x86_64-apple-darwin'
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.12'
optimizations: 'debug'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.13"
optimizations: "debug"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.12'
optimizations: 'pgo'
- target_triple: 'x86_64-apple-darwin'
py: "cpython-3.13"
optimizations: "pgo"
- target_triple: "x86_64-apple-darwin"
runner: macos-13
py: 'cpython-3.12'
optimizations: 'pgo+lto'
py: "cpython-3.13"
optimizations: "pgo+lto"
needs:
- pythonbuild
runs-on: ${{ matrix.build.runner }}
Expand All @@ -186,7 +217,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
python-version: "3.11"

- name: Download pythonbuild
uses: actions/download-artifact@v4
Expand Down Expand Up @@ -215,7 +246,7 @@ jobs:

- uses: actions/checkout@v4
with:
repository: 'phracker/MacOSX-SDKs'
repository: "phracker/MacOSX-SDKs"
ref: master
path: macosx-sdks

Expand Down
Loading