Skip to content

Commit

Permalink
GH-40082: [CI][C++] Add a job on ARM64 macOS (#40456)
Browse files Browse the repository at this point in the history
### Rationale for this change

We can use GitHub hosted M1 macOS runner.

### What changes are included in this PR?

* Add a job on macos-14
* Update expected L2 CPU cache range to 32KiB-12MiB from 32KiB-8MiB because M1 macOS runner has 12MiB
* Disable arrow-s3fs-test for now. It'll be fixed by GH-40410
 
### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* GitHub Issue: #40082

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
  • Loading branch information
kou authored Mar 11, 2024
1 parent 31fa99a commit 5127ef0
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 8 deletions.
22 changes: 15 additions & 7 deletions .github/workflows/cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -181,10 +181,18 @@ jobs:
docker-compose run --rm minimal
macos:
name: AMD64 macOS 12 C++
runs-on: macos-latest
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:
include:
- architecture: AMD64
macos-version: "12"
- architecture: ARM64
macos-version: "14"
env:
ARROW_AZURE: ON
ARROW_BUILD_TESTS: ON
Expand All @@ -193,7 +201,7 @@ jobs:
ARROW_GANDIVA: ON
ARROW_GCS: ON
ARROW_HDFS: ON
ARROW_HOME: /usr/local
ARROW_HOME: /tmp/local
ARROW_JEMALLOC: ON
ARROW_ORC: ON
ARROW_PARQUET: ON
Expand Down Expand Up @@ -225,11 +233,11 @@ jobs:
- name: Install MinIO
run: |
$(brew --prefix bash)/bin/bash \
ci/scripts/install_minio.sh latest /usr/local
ci/scripts/install_minio.sh latest ${ARROW_HOME}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.12
- name: Install Google Cloud Storage Testbench
run: ci/scripts/install_gcs_testbench.sh default
- name: Install Azurite Storage Emulator
Expand All @@ -245,8 +253,8 @@ jobs:
uses: actions/cache@v4
with:
path: ${{ steps.ccache-info.outputs.cache-dir }}
key: cpp-ccache-macos-${{ hashFiles('cpp/**') }}
restore-keys: cpp-ccache-macos-
key: cpp-ccache-macos-${{ matrix.macos-version }}-${{ hashFiles('cpp/**') }}
restore-keys: cpp-ccache-macos-${{ matrix.macos-version }}-
- name: Build
run: |
ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
Expand Down
3 changes: 3 additions & 0 deletions ci/scripts/cpp_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ case "$(uname)" in
;;
Darwin)
n_jobs=$(sysctl -n hw.ncpu)
# TODO: https://github.com/apache/arrow/issues/40410
exclude_tests="arrow-s3fs-test"
ctest_options+=(--exclude-regex "${exclude_tests}")
;;
MINGW*)
n_jobs=${NUMBER_OF_PROCESSORS:-1}
Expand Down
1 change: 1 addition & 0 deletions ci/scripts/install_minio.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ download()
local output=$1
local url=$2

mkdir -p $(dirname ${output})
if type wget > /dev/null 2>&1; then
wget -nv --output-document ${output} ${url}
else
Expand Down
2 changes: 1 addition & 1 deletion cpp/src/arrow/util/io_util_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1065,7 +1065,7 @@ TEST(CpuInfo, Basic) {
const auto l2 = ci->CacheSize(CpuInfo::CacheLevel::L2);
const auto l3 = ci->CacheSize(CpuInfo::CacheLevel::L3);
ASSERT_TRUE(l1 >= 4 * 1024 && l1 <= 512 * 1024) << "unexpected L1 size: " << l1;
ASSERT_TRUE(l2 >= 32 * 1024 && l2 <= 8 * 1024 * 1024) << "unexpected L2 size: " << l2;
ASSERT_TRUE(l2 >= 32 * 1024 && l2 <= 12 * 1024 * 1024) << "unexpected L2 size: " << l2;
ASSERT_TRUE(l3 >= 256 * 1024 && l3 <= 1024 * 1024 * 1024)
<< "unexpected L3 size: " << l3;
ASSERT_LE(l1, l2) << "L1 cache size " << l1 << " larger than L2 " << l2;
Expand Down

0 comments on commit 5127ef0

Please sign in to comment.