From bcb3f2a5fa1b72729af328e6802ed9dd695cadb6 Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Thu, 8 Sep 2022 13:14:43 +0200 Subject: [PATCH 1/6] remove arch -arm64 --- dev/tasks/python-wheels/github.osx.arm64.yml | 16 ++++++++-------- dev/tasks/tasks.yml | 1 - dev/tasks/verify-rc/github.macos.arm64.yml | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/dev/tasks/python-wheels/github.osx.arm64.yml b/dev/tasks/python-wheels/github.osx.arm64.yml index e5be422e2c3..a02661f4920 100644 --- a/dev/tasks/python-wheels/github.osx.arm64.yml +++ b/dev/tasks/python-wheels/github.osx.arm64.yml @@ -58,7 +58,7 @@ jobs: - name: Install Vcpkg env: MACOSX_DEPLOYMENT_TARGET: "11.0" - run: arch -arm64 arrow/ci/scripts/install_vcpkg.sh $VCPKG_ROOT $VCPKG_VERSION + run: arrow/ci/scripts/install_vcpkg.sh $VCPKG_ROOT $VCPKG_VERSION - name: Add Vcpkg to PATH run: echo ${VCPKG_ROOT} >> $GITHUB_PATH @@ -67,7 +67,7 @@ jobs: env: VCPKG_DEFAULT_TRIPLET: arm64-osx-static-release run: | - arch -arm64 vcpkg install \ + vcpkg install \ --clean-after-build \ --x-install-root=${VCPKG_ROOT}/installed \ --x-manifest-root=arrow/ci/vcpkg \ @@ -85,14 +85,14 @@ jobs: $PYTHON -m venv build-arm64-env source build-arm64-env/bin/activate pip install --upgrade pip wheel - arch -arm64 arrow/ci/scripts/python_wheel_macos_build.sh arm64 $(pwd)/arrow $(pwd)/build + arrow/ci/scripts/python_wheel_macos_build.sh arm64 $(pwd)/arrow $(pwd)/build {% if arch == "universal2" %} - name: Install AMD64 Packages env: VCPKG_DEFAULT_TRIPLET: amd64-osx-static-release run: | - arch -arm64 vcpkg install \ + vcpkg install \ --clean-after-build \ --x-install-root=${VCPKG_ROOT}/installed \ --x-manifest-root=arrow/ci/vcpkg \ @@ -138,10 +138,10 @@ jobs: # libffi has to be installed on the m1 runner which causes issues with # the cffi wheel. We build cffi with the flags pointing to the correct libffi location. LDFLAGS=-L$(brew --prefix libffi)/lib CFLAGS=-I$(brew --prefix libffi)/include \ - arch -arm64 pip install cffi --no-binary :all: - arch -arm64 pip install -r arrow/python/requirements-wheel-test.txt - PYTHON=python arch -arm64 arrow/ci/scripts/install_gcs_testbench.sh default - arch -arm64 arrow/ci/scripts/python_wheel_unix_test.sh $(pwd)/arrow + pip install cffi --no-binary :all: + pip install -r arrow/python/requirements-wheel-test.txt + PYTHON=python arrow/ci/scripts/install_gcs_testbench.sh default + arrow/ci/scripts/python_wheel_unix_test.sh $(pwd)/arrow {% if arch == "universal2" %} - name: Test Wheel on AMD64 diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index ae3c613902b..4292e4da014 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1085,7 +1085,6 @@ tasks: env: PYTEST_ADDOPTS: "-k 'not test_cancellation'" github_runner: ["self-hosted", "macOS", "arm64"] - arch_emulation: arm64 target: "wheels" ######################## Windows verification ############################## diff --git a/dev/tasks/verify-rc/github.macos.arm64.yml b/dev/tasks/verify-rc/github.macos.arm64.yml index 10f684e6ac1..79cdf4479eb 100644 --- a/dev/tasks/verify-rc/github.macos.arm64.yml +++ b/dev/tasks/verify-rc/github.macos.arm64.yml @@ -46,5 +46,5 @@ jobs: export PATH="$(brew --prefix node@16)/bin:$PATH" export PATH="$(brew --prefix ruby)/bin:$PATH" export PKG_CONFIG_PATH="$(brew --prefix ruby)/lib/pkgconfig" - arch -{{ arch_emulation|default("arm64") }} arrow/dev/release/verify-release-candidate.sh \ + arrow/dev/release/verify-release-candidate.sh \ {{ release|default("") }} {{ rc|default("") }} From 5aeb4564cbc583f9aa6dda451df0c661bcf7c624 Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Thu, 8 Sep 2022 13:21:13 +0200 Subject: [PATCH 2/6] only use updated runners --- dev/tasks/python-wheels/github.osx.arm64.yml | 2 +- dev/tasks/tasks.yml | 4 ++-- dev/tasks/verify-rc/github.macos.arm64.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dev/tasks/python-wheels/github.osx.arm64.yml b/dev/tasks/python-wheels/github.osx.arm64.yml index a02661f4920..21b0da8c373 100644 --- a/dev/tasks/python-wheels/github.osx.arm64.yml +++ b/dev/tasks/python-wheels/github.osx.arm64.yml @@ -40,7 +40,7 @@ env: jobs: build: name: Build wheel for OS X - runs-on: ["self-hosted", "macOS", "arm64"] + runs-on: ["self-hosted", "macOS", "arm64", "devops-managed"] steps: - name: Cleanup run: rm -rf arrow vcpkg build crossbow-env build-*-env test-*-env diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 4292e4da014..bea15b121aa 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1057,7 +1057,7 @@ tasks: TEST_INTEGRATION_JAVA: 0 PYTEST_ADDOPTS: "-k 'not test_cancellation'" target: {{ target }} - github_runner: ["self-hosted", "macOS", "arm64"] + github_runner: ["self-hosted", "macOS", "arm64", "devops-managed"] {% endfor %} {% for macos_version in ["11", "12"] %} @@ -1084,7 +1084,7 @@ tasks: params: env: PYTEST_ADDOPTS: "-k 'not test_cancellation'" - github_runner: ["self-hosted", "macOS", "arm64"] + github_runner: ["self-hosted", "macOS", "arm64", "devops-managed"] target: "wheels" ######################## Windows verification ############################## diff --git a/dev/tasks/verify-rc/github.macos.arm64.yml b/dev/tasks/verify-rc/github.macos.arm64.yml index 79cdf4479eb..23104eb7e51 100644 --- a/dev/tasks/verify-rc/github.macos.arm64.yml +++ b/dev/tasks/verify-rc/github.macos.arm64.yml @@ -22,7 +22,7 @@ jobs: verify: name: "Verify release candidate on macOS" - runs-on: {{ github_runner|default(["self-hosted", "macOS", "arm64"]) }} + runs-on: {{ github_runner|default(["self-hosted", "macOS", "arm64", "devops-managed"]) }} {% if env is defined %} env: {% for key, value in env.items() %} From a9f75f6a1244343ae3f3c34f994ff301af9824fb Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Mon, 12 Sep 2022 19:08:07 +0200 Subject: [PATCH 3/6] Revert "only use updated runners" This reverts commit c3636abed07c228db28a60331912838d2b8e7c04. --- dev/tasks/python-wheels/github.osx.arm64.yml | 2 +- dev/tasks/tasks.yml | 4 ++-- dev/tasks/verify-rc/github.macos.arm64.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dev/tasks/python-wheels/github.osx.arm64.yml b/dev/tasks/python-wheels/github.osx.arm64.yml index 21b0da8c373..a02661f4920 100644 --- a/dev/tasks/python-wheels/github.osx.arm64.yml +++ b/dev/tasks/python-wheels/github.osx.arm64.yml @@ -40,7 +40,7 @@ env: jobs: build: name: Build wheel for OS X - runs-on: ["self-hosted", "macOS", "arm64", "devops-managed"] + runs-on: ["self-hosted", "macOS", "arm64"] steps: - name: Cleanup run: rm -rf arrow vcpkg build crossbow-env build-*-env test-*-env diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index bea15b121aa..4292e4da014 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1057,7 +1057,7 @@ tasks: TEST_INTEGRATION_JAVA: 0 PYTEST_ADDOPTS: "-k 'not test_cancellation'" target: {{ target }} - github_runner: ["self-hosted", "macOS", "arm64", "devops-managed"] + github_runner: ["self-hosted", "macOS", "arm64"] {% endfor %} {% for macos_version in ["11", "12"] %} @@ -1084,7 +1084,7 @@ tasks: params: env: PYTEST_ADDOPTS: "-k 'not test_cancellation'" - github_runner: ["self-hosted", "macOS", "arm64", "devops-managed"] + github_runner: ["self-hosted", "macOS", "arm64"] target: "wheels" ######################## Windows verification ############################## diff --git a/dev/tasks/verify-rc/github.macos.arm64.yml b/dev/tasks/verify-rc/github.macos.arm64.yml index 23104eb7e51..79cdf4479eb 100644 --- a/dev/tasks/verify-rc/github.macos.arm64.yml +++ b/dev/tasks/verify-rc/github.macos.arm64.yml @@ -22,7 +22,7 @@ jobs: verify: name: "Verify release candidate on macOS" - runs-on: {{ github_runner|default(["self-hosted", "macOS", "arm64", "devops-managed"]) }} + runs-on: {{ github_runner|default(["self-hosted", "macOS", "arm64"]) }} {% if env is defined %} env: {% for key, value in env.items() %} From 576322d30c3f851dd533c9f54f8f160a8ddc1d4f Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Mon, 12 Sep 2022 19:53:23 +0200 Subject: [PATCH 4/6] add m1 pkg to r-binary-packages --- dev/tasks/macros.jinja | 4 ++-- dev/tasks/r/github.macos.autobrew.yml | 4 ++-- dev/tasks/r/github.packages.yml | 28 ++++++++++++++++----------- dev/tasks/tasks.yml | 2 ++ 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/dev/tasks/macros.jinja b/dev/tasks/macros.jinja index 4cf4830cf65..9da09d971b0 100644 --- a/dev/tasks/macros.jinja +++ b/dev/tasks/macros.jinja @@ -353,8 +353,8 @@ on: {# use filter to cast to string and convert to lowercase to match yaml boolean #} {% set is_fork = (not is_upstream_b)|lower %} -{% set r_release = '4.2' %} -{% set r_oldrel = '4.1' %} +{% set r_release = {"ver": "4.2", "rt" : "42"} %} +{% set r_oldrel = {"ver": "4.1", "rt" : "40"} %} {%- macro github_set_env(env) -%} {% if env is defined %} diff --git a/dev/tasks/r/github.macos.autobrew.yml b/dev/tasks/r/github.macos.autobrew.yml index fd5492873db..2664455479a 100644 --- a/dev/tasks/r/github.macos.autobrew.yml +++ b/dev/tasks/r/github.macos.autobrew.yml @@ -31,8 +31,8 @@ jobs: - macos-11 - macos-10.13 # self-hosted r-version: - - {{ macros.r_release }} - - {{ macros.r_oldrel }} + - "{{ macros.r_release.ver }}" + - "{{ macros.r_oldrel.ver }}" steps: {{ macros.github_checkout_arrow()|indent }} - name: Configure autobrew script diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index 090735f0fa1..13f7c9438e8 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -130,31 +130,36 @@ jobs: r-packages: needs: [source, windows-cpp] - name: {{ '${{ matrix.platform }} ${{ matrix.r_version.r }}' }} - runs-on: {{ '${{ matrix.platform }}' }} + name: {{ '${{ matrix.platform.name }} ${{ matrix.r_version.r }}' }} + runs-on: {{ '${{ matrix.platform.runs_on }}' }} strategy: fail-fast: false matrix: platform: - - windows-latest - - macos-10.13 # self-hosted - # - devops-managed # No M1 until the runner application runs native + - { runs_on: 'windows-latest', name: "Windows"} + - { runs_on: ["self-hosted", "macos-10.13"], name: "macOS High Sierra"} + - { runs_on: ["self-hosted", "macOS", "arm64", "devops-managed"], name: "macOS Big Sur" } r_version: - - { rtools: 40, r: "4.1" } - - { rtools: 42, r: "4.2" } + - { rtools: "{{ macros.r_release.rt }}", r: "{{ macros.r_release.ver }}" } + - { rtools: "{{ macros.r_oldrel.rt }}", r: "{{ macros.r_oldrel.ver }}" } steps: - uses: r-lib/actions/setup-r@v2 - if: matrix.platform != 'macos-10.13' + # expression marker prevents the ! being parsed as yaml tag + if: {{ "${{ !contains(matrix.platform.runs_on, 'self-hosted') }}" }} with: r-version: {{ '${{ matrix.r_version.r }}' }} rtools-version: {{ '${{ matrix.r_version.rtools }}' }} Ncpus: 2 - name: Setup R Self-Hosted - if: matrix.platform == 'macos-10.13' + if: contains(matrix.platform.runs_on, 'self-hosted') run: | + if [ "{{ "${{ contains(matrix.platform.runs_on, 'arm64') }}" }}" == "true" ]; then + rig_arch="-arm64" + fi # rig is a system utility that allows for switching # between pre-installed R version on the self-hosted runners - rig default {{ '${{ matrix.r_version.r }}' }} + rig default {{ '${{ matrix.r_version.r }}' }}$rig_arch + rig system setup-user-lib rig system add-pak {{ macros.github_setup_local_r_repo(false, true)|indent }} @@ -163,7 +168,8 @@ jobs: shell: bash run: | tar -xzf repo/src/contrib/arrow_*.tar.gz arrow/DESCRIPTION - - uses: r-lib/actions/setup-r-dependencies@v2 + - name: Install dependencies + uses: r-lib/actions/setup-r-dependencies@v2 with: working-directory: 'arrow' extra-packages: cpp11 diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 4292e4da014..c2ea45eb1db 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -958,6 +958,8 @@ tasks: - r-pkg__bin__windows__contrib__4.2__arrow_[0-9\.]+\.zip - r-pkg__bin__macosx__contrib__4.1__arrow_[0-9\.]+\.tgz - r-pkg__bin__macosx__contrib__4.2__arrow_[0-9\.]+\.tgz + - r-pkg__bin__macosx__big-sur-arm64__contrib__4.1__arrow_[0-9\.]+\.tgz + - r-pkg__bin__macosx__big-sur-arm64__contrib__4.2__arrow_[0-9\.]+\.tgz - r-pkg__src__contrib__arrow_[0-9\.]+\.tar\.gz From 4f10b3338e2ee9d5d878dc2ad2db5c2d069bd435 Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Tue, 13 Sep 2022 16:04:32 +0200 Subject: [PATCH 5/6] remove failed installs on self-hosted --- dev/tasks/r/github.packages.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index 13f7c9438e8..af41e297a83 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -164,7 +164,6 @@ jobs: rig system add-pak {{ macros.github_setup_local_r_repo(false, true)|indent }} - name: Prepare Dependency Installation - shell: bash run: | tar -xzf repo/src/contrib/arrow_*.tar.gz arrow/DESCRIPTION @@ -173,6 +172,11 @@ jobs: with: working-directory: 'arrow' extra-packages: cpp11 + - name: Remove failed installs + if: contains(matrix.platform.runs_on, 'self-hosted') + shell: bash + run: | + rm -rf /Users/voltrondata/Library/R/x86_64/{{ '${{ matrix.r_version.r }}' }}/library/00LOCK-arrow || echo "Nothing to remove" - name: Build Binary id: build shell: Rscript {0} From 2aad79ba64c288f281086bd649b4a5b976310150 Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Tue, 13 Sep 2022 16:17:53 +0200 Subject: [PATCH 6/6] Revert "remove failed installs on self-hosted" This reverts commit 4f10b3338e2ee9d5d878dc2ad2db5c2d069bd435. --- dev/tasks/r/github.packages.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index af41e297a83..13f7c9438e8 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -164,6 +164,7 @@ jobs: rig system add-pak {{ macros.github_setup_local_r_repo(false, true)|indent }} - name: Prepare Dependency Installation + shell: bash run: | tar -xzf repo/src/contrib/arrow_*.tar.gz arrow/DESCRIPTION @@ -172,11 +173,6 @@ jobs: with: working-directory: 'arrow' extra-packages: cpp11 - - name: Remove failed installs - if: contains(matrix.platform.runs_on, 'self-hosted') - shell: bash - run: | - rm -rf /Users/voltrondata/Library/R/x86_64/{{ '${{ matrix.r_version.r }}' }}/library/00LOCK-arrow || echo "Nothing to remove" - name: Build Binary id: build shell: Rscript {0}