From 51e8faebbf89e542efa5488a85c7615272131397 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Tue, 24 Sep 2024 16:42:55 +0900 Subject: [PATCH 1/4] GH-44206: [CI][macOS] Drop support for macOS 12 --- .github/workflows/cpp.yml | 9 ++---- .github/workflows/csharp.yml | 4 +-- .github/workflows/java.yml | 4 +-- .github/workflows/js.yml | 4 +-- .github/workflows/matlab.yml | 9 ++---- .github/workflows/python.yml | 9 ++---- .github/workflows/ruby.yml | 2 +- dev/tasks/r/github.packages.yml | 4 +-- dev/tasks/tasks.yml | 53 --------------------------------- 9 files changed, 18 insertions(+), 80 deletions(-) diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml index f5c8b6a7201be..120eec6679acf 100644 --- a/.github/workflows/cpp.yml +++ b/.github/workflows/cpp.yml @@ -190,18 +190,15 @@ jobs: docker compose run --rm minimal macos: - name: ${{ matrix.architecture }} macOS ${{ matrix.macos-version }} C++ + name: ARM64 macOS ${{ matrix.macos-version }} C++ runs-on: macos-${{ matrix.macos-version }} if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 75 strategy: fail-fast: false matrix: - include: - - architecture: AMD64 - macos-version: "12" - - architecture: ARM64 - macos-version: "14" + macos-version: + - "14" env: ARROW_AZURE: ON ARROW_BUILD_TESTS: ON diff --git a/.github/workflows/csharp.yml b/.github/workflows/csharp.yml index c618350affbeb..76d9561011706 100644 --- a/.github/workflows/csharp.yml +++ b/.github/workflows/csharp.yml @@ -94,8 +94,8 @@ jobs: run: ci/scripts/csharp_test.sh $(pwd) macos: - name: AMD64 macOS 13 C# ${{ matrix.dotnet }} - runs-on: macos-13 # Pending https://github.com/pythonnet/pythonnet/issues/2396 + name: ARM64 macOS 14 C# ${{ matrix.dotnet }} + runs-on: macos-14 if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 15 strategy: diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml index ad39dbc7d01e6..30311036269ff 100644 --- a/.github/workflows/java.yml +++ b/.github/workflows/java.yml @@ -106,8 +106,8 @@ jobs: run: archery docker push ${{ matrix.image }} macos: - name: AMD64 macOS 12 Java JDK ${{ matrix.jdk }} - runs-on: macos-12 + name: ARM64 macOS 14 Java JDK ${{ matrix.jdk }} + runs-on: macos-14 if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 30 strategy: diff --git a/.github/workflows/js.yml b/.github/workflows/js.yml index c7693c05133b0..5227260ed6df1 100644 --- a/.github/workflows/js.yml +++ b/.github/workflows/js.yml @@ -81,8 +81,8 @@ jobs: run: archery docker push debian-js macos: - name: AMD64 macOS 12 NodeJS ${{ matrix.node }} - runs-on: macos-12 + name: ARM64 macOS 14 NodeJS ${{ matrix.node }} + runs-on: macos-14 if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 30 strategy: diff --git a/.github/workflows/matlab.yml b/.github/workflows/matlab.yml index ca8280927f4a5..1b4c3dcdec33e 100644 --- a/.github/workflows/matlab.yml +++ b/.github/workflows/matlab.yml @@ -98,16 +98,13 @@ jobs: select-by-folder: matlab/test strict: true macos: - name: ${{ matrix.architecture }} macOS ${{ matrix.macos-version }} MATLAB + name: ARM64 macOS ${{ matrix.macos-version }} MATLAB runs-on: macos-${{ matrix.macos-version }} if: ${{ !contains(github.event.pull_request.title, 'WIP') }} strategy: matrix: - include: - - architecture: AMD64 - macos-version: "12" - - architecture: ARM64 - macos-version: "14" + macos-version: + - "14" steps: - name: Check out repository uses: actions/checkout@v4 diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 4916287556b0c..442f181b2c4a0 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -134,18 +134,15 @@ jobs: run: archery docker push ${{ matrix.image }} macos: - name: ${{ matrix.architecture }} macOS ${{ matrix.macos-version }} Python 3 + name: ARM64 macOS ${{ matrix.macos-version }} Python 3 runs-on: macos-${{ matrix.macos-version }} if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 60 strategy: fail-fast: false matrix: - include: - - architecture: AMD64 - macos-version: "12" - - architecture: ARM64 - macos-version: "14" + macos-version: + - "14" env: ARROW_HOME: /tmp/local ARROW_AZURE: ON diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 83a066dc27386..13da7e62ee0cd 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -117,7 +117,7 @@ jobs: run: archery docker push ubuntu-ruby macos: - name: AMD64 macOS 14 GLib & Ruby + name: ARM64 macOS 14 GLib & Ruby runs-on: macos-latest if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 60 diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index 11d1f85a4cb52..839e3d5341070 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -208,7 +208,7 @@ jobs: matrix: platform: - { runs_on: 'windows-latest', name: "Windows"} - - { runs_on: macos-12, name: "macOS x86_64"} + - { runs_on: macos-13, name: "macOS x86_64"} - { runs_on: macos-14, name: "macOS arm64" } r_version: [oldrel, release] steps: @@ -389,7 +389,7 @@ jobs: matrix: platform: - {runs_on: "ubuntu-latest", name: "Linux"} - - {runs_on: "macos-12" , name: "macOS"} + - {runs_on: "macos-13" , name: "macOS"} steps: - name: Install R uses: r-lib/actions/setup-r@v2 diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 10b5426b7502b..d95878cdb85ef 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -416,25 +416,6 @@ tasks: {############################## Wheel macOS ####################################} -{% for macos_version, macos_codename in [("12.0", "monterey")] %} - {% set platform_tag = "macosx_{}_x86_64".format(macos_version.replace('.', '_')) %} - - wheel-macos-{{ macos_codename }}-{{ python_tag }}-{{ abi_tag }}-amd64: - ci: github - template: python-wheels/github.osx.yml - params: - arch: "x86_64" - arrow_jemalloc: "ON" - python_version: "{{ python_version }}" - python_abi_tag: "{{ abi_tag }}" - macos_deployment_target: "{{ macos_version }}" - runs_on: "macos-12" - vcpkg_arch: "amd64" - artifacts: - - pyarrow-{no_rc_version}-{{ python_tag }}-{{ abi_tag }}-{{ platform_tag }}.whl - -{% endfor %} - wheel-macos-monterey-{{ python_tag }}-{{ abi_tag }}-arm64: ci: github template: python-wheels/github.osx.yml @@ -957,31 +938,6 @@ tasks: ######################## macOS verification ################################ - {% for target in ["cpp", "integration", "python"] %} - verify-rc-source-{{ target }}-macos-conda-amd64: - ci: github - template: verify-rc/github.macos.yml - params: - target: {{ target }} - use_conda: True - github_runner: "macos-12" - {% endfor %} - - {% for target in ["cpp", - "csharp", - "integration", - "java", - "js", - "python", - "ruby"] %} - verify-rc-source-{{ target }}-macos-amd64: - ci: github - template: verify-rc/github.macos.yml - params: - target: {{ target }} - github_runner: "macos-12" - {% endfor %} - {% for target in ["cpp", "csharp", "integration", @@ -1001,15 +957,6 @@ tasks: github_runner: "macos-14" {% endfor %} - {% for macos_version in ["12"] %} - verify-rc-binaries-wheels-macos-{{ macos_version }}-amd64: - ci: github - template: verify-rc/github.macos.yml - params: - github_runner: "macos-{{ macos_version }}" - target: "wheels" - {% endfor %} - {% for macos_version in ["14"] %} verify-rc-binaries-wheels-macos-{{ macos_version }}-arm64: ci: github From 0fd2ed8e60c826546bf36f6cd4f940fc2a903722 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Wed, 25 Sep 2024 13:43:03 +0900 Subject: [PATCH 2/4] Use macos-13 instead of removing macos-12 jobs --- .github/workflows/cpp.yml | 9 ++++++--- .github/workflows/csharp.yml | 4 ++-- .github/workflows/java.yml | 4 ++-- .github/workflows/js.yml | 4 ++-- .github/workflows/matlab.yml | 9 ++++++--- .github/workflows/python.yml | 9 ++++++--- dev/tasks/tasks.yml | 38 ++++++++++++++++++++++++++++++++++++ 7 files changed, 62 insertions(+), 15 deletions(-) diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml index 120eec6679acf..762032f8e4ea3 100644 --- a/.github/workflows/cpp.yml +++ b/.github/workflows/cpp.yml @@ -190,15 +190,18 @@ jobs: docker compose run --rm minimal macos: - name: ARM64 macOS ${{ matrix.macos-version }} C++ + name: ${{ matrix.architecture }} macOS ${{ matrix.macos-version }} C++ runs-on: macos-${{ matrix.macos-version }} if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 75 strategy: fail-fast: false matrix: - macos-version: - - "14" + include: + - architecture: AMD64 + macos-version: "13" + - architecture: ARM64 + macos-version: "14" env: ARROW_AZURE: ON ARROW_BUILD_TESTS: ON diff --git a/.github/workflows/csharp.yml b/.github/workflows/csharp.yml index 76d9561011706..5f657e6c1bf58 100644 --- a/.github/workflows/csharp.yml +++ b/.github/workflows/csharp.yml @@ -94,8 +94,8 @@ jobs: run: ci/scripts/csharp_test.sh $(pwd) macos: - name: ARM64 macOS 14 C# ${{ matrix.dotnet }} - runs-on: macos-14 + name: AMD64 macOS 13 C# ${{ matrix.dotnet }} + runs-on: macos-13 if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 15 strategy: diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml index 30311036269ff..5766c63bf5221 100644 --- a/.github/workflows/java.yml +++ b/.github/workflows/java.yml @@ -106,8 +106,8 @@ jobs: run: archery docker push ${{ matrix.image }} macos: - name: ARM64 macOS 14 Java JDK ${{ matrix.jdk }} - runs-on: macos-14 + name: AMD64 macOS 13 Java JDK ${{ matrix.jdk }} + runs-on: macos-13 if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 30 strategy: diff --git a/.github/workflows/js.yml b/.github/workflows/js.yml index 5227260ed6df1..031310fd4027b 100644 --- a/.github/workflows/js.yml +++ b/.github/workflows/js.yml @@ -81,8 +81,8 @@ jobs: run: archery docker push debian-js macos: - name: ARM64 macOS 14 NodeJS ${{ matrix.node }} - runs-on: macos-14 + name: AMD64 macOS 13 NodeJS ${{ matrix.node }} + runs-on: macos-13 if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 30 strategy: diff --git a/.github/workflows/matlab.yml b/.github/workflows/matlab.yml index 1b4c3dcdec33e..7d217b07ad7d7 100644 --- a/.github/workflows/matlab.yml +++ b/.github/workflows/matlab.yml @@ -98,13 +98,16 @@ jobs: select-by-folder: matlab/test strict: true macos: - name: ARM64 macOS ${{ matrix.macos-version }} MATLAB + name: ${{ matrix.architecture }} macOS ${{ matrix.macos-version }} MATLAB runs-on: macos-${{ matrix.macos-version }} if: ${{ !contains(github.event.pull_request.title, 'WIP') }} strategy: matrix: - macos-version: - - "14" + include: + - architecture: AMD64 + macos-version: "13" + - architecture: ARM64 + macos-version: "14" steps: - name: Check out repository uses: actions/checkout@v4 diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 442f181b2c4a0..5b7058fbb441b 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -134,15 +134,18 @@ jobs: run: archery docker push ${{ matrix.image }} macos: - name: ARM64 macOS ${{ matrix.macos-version }} Python 3 + name: ${{ matrix.architecture }} macOS ${{ matrix.macos-version }} Python 3 runs-on: macos-${{ matrix.macos-version }} if: ${{ !contains(github.event.pull_request.title, 'WIP') }} timeout-minutes: 60 strategy: fail-fast: false matrix: - macos-version: - - "14" + include: + - architecture: AMD64 + macos-version: "13" + - architecture: ARM64 + macos-version: "14" env: ARROW_HOME: /tmp/local ARROW_AZURE: ON diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index d95878cdb85ef..cc6b5142aadf9 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -416,6 +416,25 @@ tasks: {############################## Wheel macOS ####################################} +{% for macos_version, macos_codename in [("13.0", "ventura")] %} + {% set platform_tag = "macosx_{}_x86_64".format(macos_version.replace('.', '_')) %} + + wheel-macos-{{ macos_codename }}-{{ python_tag }}-{{ abi_tag }}-amd64: + ci: github + template: python-wheels/github.osx.yml + params: + arch: "x86_64" + arrow_jemalloc: "ON" + python_version: "{{ python_version }}" + python_abi_tag: "{{ abi_tag }}" + macos_deployment_target: "{{ macos_version }}" + runs_on: "macos-13" + vcpkg_arch: "amd64" + artifacts: + - pyarrow-{no_rc_version}-{{ python_tag }}-{{ abi_tag }}-{{ platform_tag }}.whl + +{% endfor %} + wheel-macos-monterey-{{ python_tag }}-{{ abi_tag }}-arm64: ci: github template: python-wheels/github.osx.yml @@ -938,6 +957,16 @@ tasks: ######################## macOS verification ################################ + {% for target in ["cpp", "integration", "python"] %} + verify-rc-source-{{ target }}-macos-conda-amd64: + ci: github + template: verify-rc/github.macos.yml + params: + target: {{ target }} + use_conda: True + github_runner: "macos-13" + {% endfor %} + {% for target in ["cpp", "csharp", "integration", @@ -957,6 +986,15 @@ tasks: github_runner: "macos-14" {% endfor %} + {% for macos_version in ["13"] %} + verify-rc-binaries-wheels-macos-{{ macos_version }}-amd64: + ci: github + template: verify-rc/github.macos.yml + params: + github_runner: "macos-{{ macos_version }}" + target: "wheels" + {% endfor %} + {% for macos_version in ["14"] %} verify-rc-binaries-wheels-macos-{{ macos_version }}-arm64: ci: github From c619193af14e19753135c8d12d449fbb6ca3a5ad Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Wed, 25 Sep 2024 14:09:32 +0900 Subject: [PATCH 3/4] Restore verify-rc-source-*-macos-amd64 --- dev/tasks/tasks.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index cc6b5142aadf9..d458b25fd292c 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -967,6 +967,20 @@ tasks: github_runner: "macos-13" {% endfor %} + {% for target in ["cpp", + "csharp", + "integration", + "js", + "python", + "ruby"] %} + verify-rc-source-{{ target }}-macos-amd64: + ci: github + template: verify-rc/github.macos.yml + params: + target: {{ target }} + github_runner: "macos-13" + {% endfor %} + {% for target in ["cpp", "csharp", "integration", From 099161970d217a125b6898466f90de9f98882d4c Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Wed, 25 Sep 2024 14:10:10 +0900 Subject: [PATCH 4/4] Restore java --- dev/tasks/tasks.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index d458b25fd292c..1747ff546aca8 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -970,6 +970,7 @@ tasks: {% for target in ["cpp", "csharp", "integration", + "java", "js", "python", "ruby"] %}