mirror of
https://github.com/python/cpython.git
synced 2025-09-26 10:19:53 +00:00
[3.12] Move macOS matrix to the calling workflow (GH-121809) (#122330)
This commit is contained in:
parent
102dc44a0a
commit
a4449a1ada
2 changed files with 33 additions and 20 deletions
31
.github/workflows/build.yml
vendored
31
.github/workflows/build.yml
vendored
|
@ -286,15 +286,38 @@ jobs:
|
|||
arch: ${{ matrix.arch }}
|
||||
|
||||
build_macos:
|
||||
name: 'macOS'
|
||||
name: >-
|
||||
macOS
|
||||
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
|
||||
needs: check_source
|
||||
if: needs.check_source.outputs.run_tests == 'true'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Cirrus and macos-14 are M1, macos-13 is default GHA Intel.
|
||||
# macOS 13 only runs tests against the GIL-enabled CPython.
|
||||
# Cirrus used for upstream, macos-14 for forks.
|
||||
os:
|
||||
- ghcr.io/cirruslabs/macos-runner:sonoma
|
||||
- macos-14
|
||||
- macos-13
|
||||
is-fork: # only used for the exclusion trick
|
||||
- ${{ github.repository_owner != 'python' }}
|
||||
free-threading:
|
||||
- false
|
||||
# - true
|
||||
exclude:
|
||||
- os: ghcr.io/cirruslabs/macos-runner:sonoma
|
||||
is-fork: true
|
||||
- os: macos-14
|
||||
is-fork: false
|
||||
- os: macos-13
|
||||
free-threading: true
|
||||
uses: ./.github/workflows/reusable-macos.yml
|
||||
with:
|
||||
config_hash: ${{ needs.check_source.outputs.config_hash }}
|
||||
# Cirrus and macos-14 are M1, macos-13 is default GHA Intel.
|
||||
# Cirrus used for upstream, macos-14 for forks.
|
||||
os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14", "macos-13"]'
|
||||
free-threading: ${{ matrix.free-threading }}
|
||||
os: ${{ matrix.os }}
|
||||
|
||||
build_ubuntu:
|
||||
name: >-
|
||||
|
|
22
.github/workflows/reusable-macos.yml
vendored
22
.github/workflows/reusable-macos.yml
vendored
|
@ -8,13 +8,14 @@ on:
|
|||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
os-matrix:
|
||||
required: false
|
||||
os:
|
||||
description: OS to run the job
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
build_macos:
|
||||
name: build and test (${{ matrix.os }})
|
||||
name: build and test (${{ inputs.os }})
|
||||
timeout-minutes: 60
|
||||
env:
|
||||
HOMEBREW_NO_ANALYTICS: 1
|
||||
|
@ -22,18 +23,7 @@ jobs:
|
|||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
||||
PYTHONSTRICTEXTENSIONBUILD: 1
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: ${{fromJson(inputs.os-matrix)}}
|
||||
is-fork:
|
||||
- ${{ github.repository_owner != 'python' }}
|
||||
exclude:
|
||||
- os: "ghcr.io/cirruslabs/macos-runner:sonoma"
|
||||
is-fork: true
|
||||
- os: "macos-14"
|
||||
is-fork: false
|
||||
runs-on: ${{ matrix.os }}
|
||||
runs-on: ${{ inputs.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Runner image version
|
||||
|
@ -42,7 +32,7 @@ jobs:
|
|||
uses: actions/cache@v4
|
||||
with:
|
||||
path: config.cache
|
||||
key: ${{ github.job }}-${{ matrix.os }}-${{ env.IMAGE_VERSION }}-${{ inputs.config_hash }}
|
||||
key: ${{ github.job }}-${{ inputs.os }}-${{ env.IMAGE_VERSION }}-${{ inputs.config_hash }}
|
||||
- name: Install Homebrew dependencies
|
||||
run: brew install pkg-config openssl@3.0 xz gdbm tcl-tk
|
||||
- name: Configure CPython
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue