6666 s3 : " ON"
6767 sigv4 : " ON"
6868 bundle_awssdk : " OFF"
69- aws-sdk-features : core,config,s3,identity-management,sts,transfer
7069 - title : macOS 26 ARM64, S3, bundled AWS SDK
7170 runs-on : macos-26
7271 s3 : " ON"
8887 if : ${{ startsWith(matrix.runs-on, 'ubuntu') }}
8988 shell : bash
9089 run : sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev libjitterentropy3-dev
91- - name : Cache vcpkg packages
92- if : ${{ startsWith(matrix.runs-on, 'ubuntu') && matrix.bundle_awssdk == 'OFF' }}
93- uses : actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
94- id : vcpkg-cache
95- with :
96- path : /usr/local/share/vcpkg/installed
97- key : vcpkg-x64-linux-aws-sdk-cpp-s3-${{ matrix.s3 }}-sigv4-${{ matrix.sigv4 }}-${{ hashFiles('.github/workflows/aws_test.yml') }}
98- - name : Install AWS SDK via vcpkg
99- if : ${{ startsWith(matrix.runs-on, 'ubuntu') && matrix.bundle_awssdk == 'OFF' && steps.vcpkg-cache.outputs.cache-hit != 'true' }}
100- shell : bash
101- # Retry to ride out transient GitHub/mirror download failures (504s).
102- run : |
103- for attempt in 1 2 3; do
104- if vcpkg install "aws-sdk-cpp[${{ matrix.aws-sdk-features }}]:x64-linux"; then
105- exit 0
106- fi
107- echo "::warning::vcpkg install failed (attempt ${attempt}/3), retrying in 30s"
108- sleep 30
109- done
110- echo "::error::vcpkg install failed after 3 attempts"
111- exit 1
11290 - name : Set Ubuntu Compilers
11391 if : ${{ startsWith(matrix.runs-on, 'ubuntu') }}
11492 run : |
@@ -118,17 +96,18 @@ jobs:
11896 if : ${{ matrix.s3 == 'ON' }}
11997 shell : bash
12098 run : bash ci/scripts/start_minio.sh
121- - name : Set up conda Arrow
99+ - name : Set up conda Arrow and AWS SDK
122100 if : ${{ matrix.bundle_awssdk == 'OFF' }}
123101 uses : ./.github/actions/setup-conda-arrow
102+ with :
103+ # Use the same AWS SDK as Arrow to avoid incompatible symbols at runtime.
104+ extra-packages : aws-sdk-cpp
124105 - name : Set up sccache
125106 uses : ./.github/actions/setup-sccache
126107 with :
127108 key-prefix : sccache-aws-${{ matrix.runs-on }}-bundle${{ matrix.bundle_awssdk }}-s3${{ matrix.s3 }}-sigv4${{ matrix.sigv4 }}
128109 - name : Build and test Iceberg
129110 shell : bash
130- env :
131- CMAKE_TOOLCHAIN_FILE : ${{ startsWith(matrix.runs-on, 'ubuntu') && matrix.bundle_awssdk == 'OFF' && '/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake' || '' }}
132111 run : ci/scripts/build_iceberg.sh "$(pwd)" OFF ON ${{ matrix.s3 }} ${{ matrix.sigv4 }} ${{ matrix.bundle_awssdk }}
133112 - name : Diagnose REST Arrow test failure
134113 if : ${{ failure() && startsWith(matrix.runs-on, 'ubuntu') && matrix.bundle_awssdk == 'OFF' }}
0 commit comments