From d22ab43418cb2a35db6c8813cfe63e156f688b83 Mon Sep 17 00:00:00 2001 From: Nice Zombies Date: Wed, 5 Jun 2024 15:58:29 +0200 Subject: [PATCH 1/9] Update reusable-macos.yml --- .github/workflows/reusable-macos.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index d06a718d199c96..c1fbd0bed4835b 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -15,6 +15,9 @@ on: jobs: build_macos: name: 'build and test' + if: | + github.repository_owner != 'python' + && matrix.os == 'ghcr.io/cirruslabs/macos-runner:sonoma' timeout-minutes: 60 env: HOMEBREW_NO_ANALYTICS: 1 From d3da0ce54ff4201ad3805c5f3f70bb8470a29a3d Mon Sep 17 00:00:00 2001 From: Nice Zombies Date: Wed, 5 Jun 2024 16:25:49 +0200 Subject: [PATCH 2/9] Skip attempt 2 --- .github/workflows/reusable-macos.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index c1fbd0bed4835b..d61f496f8c9918 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -15,9 +15,6 @@ on: jobs: build_macos: name: 'build and test' - if: | - github.repository_owner != 'python' - && matrix.os == 'ghcr.io/cirruslabs/macos-runner:sonoma' timeout-minutes: 60 env: HOMEBREW_NO_ANALYTICS: 1 @@ -30,6 +27,11 @@ jobs: fail-fast: false matrix: os: ${{fromJson(inputs.os-matrix)}} + isFork: ${{ github.repository_owner != 'python' }} + exclude: + - isFork: true + os: 'ghcr.io/cirruslabs/macos-runner:sonoma' + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From a38b730df28f7395ed6977fc92613ce21be43ff4 Mon Sep 17 00:00:00 2001 From: Nice Zombies Date: Wed, 5 Jun 2024 16:47:22 +0200 Subject: [PATCH 3/9] Attempt 3 --- .github/workflows/reusable-macos.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index d61f496f8c9918..cde69599ca519d 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -29,9 +29,8 @@ jobs: os: ${{fromJson(inputs.os-matrix)}} isFork: ${{ github.repository_owner != 'python' }} exclude: - - isFork: true - os: 'ghcr.io/cirruslabs/macos-runner:sonoma' - + - os: 'ghcr.io/cirruslabs/macos-runner:sonoma' + isFork: true runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From c3e96e4889291207db88c4f2c6af7cf218b09dff Mon Sep 17 00:00:00 2001 From: Nice Zombies Date: Wed, 5 Jun 2024 16:57:27 +0200 Subject: [PATCH 4/9] Attempt 4 --- .github/workflows/reusable-macos.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index cde69599ca519d..c595ea126ba14a 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -27,9 +27,10 @@ jobs: fail-fast: false matrix: os: ${{fromJson(inputs.os-matrix)}} - isFork: ${{ github.repository_owner != 'python' }} + isFork: + - ${{ github.repository_owner != "python" }} exclude: - - os: 'ghcr.io/cirruslabs/macos-runner:sonoma' + - os: "ghcr.io/cirruslabs/macos-runner:sonoma" isFork: true runs-on: ${{ matrix.os }} steps: From 30ab84cc50389d1b403e890a1dd86329ec2d6975 Mon Sep 17 00:00:00 2001 From: Nice Zombies Date: Wed, 5 Jun 2024 17:01:55 +0200 Subject: [PATCH 5/9] Attempt 5 --- .github/workflows/reusable-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index c595ea126ba14a..9fa576d8a68771 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -28,7 +28,7 @@ jobs: matrix: os: ${{fromJson(inputs.os-matrix)}} isFork: - - ${{ github.repository_owner != "python" }} + - ${{ github.repository_owner != 'python' }} exclude: - os: "ghcr.io/cirruslabs/macos-runner:sonoma" isFork: true From f52acc0d0c16785dcd2e8bd24b88a76ac0a77573 Mon Sep 17 00:00:00 2001 From: Nice Zombies Date: Wed, 5 Jun 2024 17:29:28 +0200 Subject: [PATCH 6/9] Add macOS-14 to matrix --- .github/workflows/build.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cde93c77a0b82e..1a0de7f79526c3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -199,8 +199,8 @@ jobs: uses: ./.github/workflows/reusable-macos.yml with: config_hash: ${{ needs.check_source.outputs.config_hash }} - # Cirrus is M1, macos-13 is default GHA Intel - os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-13"]' + # Cirrus and macos-14 are M1, macos-13 is default GHA Intel + os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14", "macos-13"]' build_macos_free_threading: name: 'macOS (free-threading)' @@ -211,7 +211,8 @@ jobs: config_hash: ${{ needs.check_source.outputs.config_hash }} free-threading: true # Cirrus is M1 - os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma"]' + # macos-14-large is Intel with 12 cores (most parallelism) + os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14"]' build_ubuntu: name: 'Ubuntu' From a36acd537ef99ec3d865e4ce401018c172f61ed1 Mon Sep 17 00:00:00 2001 From: Nice Zombies Date: Wed, 5 Jun 2024 17:30:20 +0200 Subject: [PATCH 7/9] Only run macOS-14 on fork --- .github/workflows/reusable-macos.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index 9fa576d8a68771..b02773f5b1d6fd 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -32,6 +32,8 @@ jobs: exclude: - os: "ghcr.io/cirruslabs/macos-runner:sonoma" isFork: true + - os: "macos-14" + isFork: false runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From 2963ce262bf34d545b880025e1e4acd3853bf97d Mon Sep 17 00:00:00 2001 From: Nice Zombies Date: Wed, 5 Jun 2024 17:59:32 +0200 Subject: [PATCH 8/9] Update job name --- .github/workflows/reusable-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index b02773f5b1d6fd..16788cac6976f4 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -14,7 +14,7 @@ on: jobs: build_macos: - name: 'build and test' + name: build and test (${{ matrix.os }}) timeout-minutes: 60 env: HOMEBREW_NO_ANALYTICS: 1 From 2e37c7e22cd515c16b58e127b03591a754fe3c58 Mon Sep 17 00:00:00 2001 From: Nice Zombies Date: Thu, 6 Jun 2024 06:55:12 +0200 Subject: [PATCH 9/9] Apply suggestions from code review Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- .github/workflows/build.yml | 7 ++++--- .github/workflows/reusable-macos.yml | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1a0de7f79526c3..eb325ac2f9ee1b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -199,7 +199,8 @@ jobs: 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 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"]' build_macos_free_threading: @@ -210,8 +211,8 @@ jobs: with: config_hash: ${{ needs.check_source.outputs.config_hash }} free-threading: true - # Cirrus is M1 - # macos-14-large is Intel with 12 cores (most parallelism) + # Cirrus and macos-14 are M1. + # Cirrus used for upstream, macos-14 for forks. os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14"]' build_ubuntu: diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index 16788cac6976f4..f825d1a7b3f69a 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -27,13 +27,13 @@ jobs: fail-fast: false matrix: os: ${{fromJson(inputs.os-matrix)}} - isFork: + is-fork: - ${{ github.repository_owner != 'python' }} exclude: - os: "ghcr.io/cirruslabs/macos-runner:sonoma" - isFork: true + is-fork: true - os: "macos-14" - isFork: false + is-fork: false runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4