|
15 | 15 | # specific language governing permissions and limitations |
16 | 16 | # under the License. |
17 | 17 |
|
18 | | -# S3-backed tests against MinIO (Linux and macOS only). |
19 | | -name: S3 Tests |
| 18 | +# AWS-related tests. The Ubuntu job builds with both ICEBERG_S3=ON and |
| 19 | +# ICEBERG_SIGV4=ON so the two AWS SDK consumers (Arrow's bundled AWS SDK |
| 20 | +# for S3, vcpkg-installed aws-cpp-sdk-core for SigV4) are linked together |
| 21 | +# — version conflicts would fail at link time. macOS exercises S3 only. |
| 22 | +name: AWS Tests |
20 | 23 |
|
21 | 24 | on: |
22 | 25 | push: |
|
39 | 42 | ICEBERG_HOME: /tmp/iceberg |
40 | 43 |
|
41 | 44 | jobs: |
42 | | - s3-minio: |
| 45 | + aws: |
43 | 46 | if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }} |
44 | | - name: S3 (${{ matrix.title }}) |
| 47 | + name: AWS (${{ matrix.title }}) |
45 | 48 | runs-on: ${{ matrix.runs-on }} |
46 | | - timeout-minutes: 35 |
| 49 | + timeout-minutes: 45 |
47 | 50 | strategy: |
48 | 51 | fail-fast: false |
49 | 52 | matrix: |
|
52 | 55 | runs-on: ubuntu-24.04 |
53 | 56 | CC: gcc-14 |
54 | 57 | CXX: g++-14 |
| 58 | + sigv4: "ON" |
55 | 59 | - title: AArch64 macOS 26 |
56 | 60 | runs-on: macos-26 |
| 61 | + sigv4: "OFF" |
57 | 62 | env: |
58 | 63 | ICEBERG_TEST_S3_URI: s3://iceberg-test |
59 | 64 | AWS_ACCESS_KEY_ID: minio |
|
70 | 75 | if: ${{ startsWith(matrix.runs-on, 'ubuntu') }} |
71 | 76 | shell: bash |
72 | 77 | run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev |
| 78 | + - name: Cache vcpkg packages |
| 79 | + if: ${{ matrix.sigv4 == 'ON' }} |
| 80 | + uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 |
| 81 | + id: vcpkg-cache |
| 82 | + with: |
| 83 | + path: /usr/local/share/vcpkg/installed |
| 84 | + key: vcpkg-x64-linux-aws-sdk-cpp-core-${{ hashFiles('.github/workflows/aws_test.yml') }} |
| 85 | + - name: Install AWS SDK via vcpkg |
| 86 | + if: ${{ matrix.sigv4 == 'ON' && steps.vcpkg-cache.outputs.cache-hit != 'true' }} |
| 87 | + shell: bash |
| 88 | + run: vcpkg install aws-sdk-cpp[core]:x64-linux |
73 | 89 | - name: Set Ubuntu Compilers |
74 | 90 | if: ${{ startsWith(matrix.runs-on, 'ubuntu') }} |
75 | 91 | run: | |
|
84 | 100 | - name: Start MinIO |
85 | 101 | shell: bash |
86 | 102 | run: bash ci/scripts/start_minio.sh |
87 | | - - name: Build and test Iceberg with S3 |
| 103 | + - name: Build and test Iceberg |
88 | 104 | shell: bash |
89 | | - run: ci/scripts/build_iceberg.sh "$(pwd)" OFF OFF ON |
| 105 | + env: |
| 106 | + CMAKE_TOOLCHAIN_FILE: ${{ matrix.sigv4 == 'ON' && '/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake' || '' }} |
| 107 | + run: ci/scripts/build_iceberg.sh "$(pwd)" OFF OFF ON ${{ matrix.sigv4 }} |
0 commit comments