Skip to content

Commit a24ad5d

Browse files
authored
Merge iceberg-rust v0.9.1 into spiceai-52 #38
2 parents 6c9b970 + ade2f61 commit a24ad5d

46 files changed

Lines changed: 1964 additions & 466 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cargo/audit.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,9 @@ ignore = [
3333
#
3434
# Introduced by object_store, see https://github.com/apache/arrow-rs-object-store/issues/564
3535
"RUSTSEC-2025-0134",
36+
# `rand` unsoundness with custom logger using `rand::rng()`
37+
#
38+
# Direct dependency upgraded to 0.9.3+. Transitive rand 0.8.5 remains
39+
# from reqsign/sqllogictest/rustc-hash — no 0.8.x patch exists.
40+
"RUSTSEC-2026-0097",
3641
]

.github/actions/overwrite-package-version/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ runs:
2525
using: "composite"
2626
steps:
2727
- name: Setup Python
28-
uses: actions/setup-python@v5
28+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
2929
with:
3030
python-version: '3.12'
3131

.github/actions/setup-builder/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ runs:
2626
using: "composite"
2727
steps:
2828
- name: Setup specified Rust toolchain
29-
shell: bash
3029
if: ${{ inputs.rust-version != '' }}
30+
shell: bash
3131
env:
3232
RUST_VERSION: ${{ inputs.rust-version }}
3333
run: |

.github/dependabot.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ updates:
2323
schedule:
2424
interval: "weekly"
2525
day: "sunday"
26+
cooldown:
27+
default-days: 7
2628

2729
# Maintain dependencies for iceberg
2830
- package-ecosystem: "cargo"
@@ -42,3 +44,5 @@ updates:
4244
patterns:
4345
- "arrow*"
4446
- "parquet"
47+
cooldown:
48+
default-days: 7
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
# Verifies all GitHub Actions refs are on the ASF allowlist.
21+
# Actions not on the allowlist silently fail with "Startup failure" — no logs,
22+
# no notifications, and PRs may appear green because no checks ran.
23+
# See https://github.com/apache/infrastructure-actions/issues/574
24+
name: "ASF Allowlist Check"
25+
26+
on:
27+
pull_request:
28+
paths:
29+
- ".github/**"
30+
push:
31+
branches:
32+
- main
33+
paths:
34+
- ".github/**"
35+
36+
permissions:
37+
contents: read
38+
39+
jobs:
40+
asf-allowlist-check:
41+
runs-on: ubuntu-24.04
42+
steps:
43+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
44+
with:
45+
persist-credentials: false
46+
- uses: apache/infrastructure-actions/allowlist-check@4e9c961f587f72b170874b6f5cd4ac15f7f26eb8 # main

.github/workflows/audit.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,13 @@ jobs:
4444
runs-on: ubuntu-latest
4545
if: github.repository == 'apache/iceberg-rust'
4646
steps:
47-
- uses: actions/checkout@v6
47+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
48+
with:
49+
persist-credentials: false
4850
- name: Setup Rust toolchain
4951
uses: ./.github/actions/setup-builder
5052
with:
5153
rust-version: stable
52-
- uses: rustsec/audit-check@v2.0.0
54+
- uses: rustsec/audit-check@69366f33c96575abad1ee0dba8212993eecbe998 # v2.0.0
5355
with:
5456
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/bindings_python_ci.yml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ jobs:
4747
check-rust:
4848
runs-on: ubuntu-latest
4949
steps:
50-
- uses: actions/checkout@v6
50+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
51+
with:
52+
persist-credentials: false
5153
- name: Check format
5254
working-directory: "bindings/python"
5355
run: cargo fmt --all -- --check
@@ -58,8 +60,10 @@ jobs:
5860
check-python:
5961
runs-on: ubuntu-slim
6062
steps:
61-
- uses: actions/checkout@v6
62-
- uses: astral-sh/setup-uv@v7
63+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
64+
with:
65+
persist-credentials: false
66+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
6367
with:
6468
version: "0.9.3"
6569
enable-cache: true
@@ -85,16 +89,18 @@ jobs:
8589
- macos-latest
8690
- windows-latest
8791
steps:
88-
- uses: actions/checkout@v6
89-
- uses: actions/setup-python@v6
92+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
93+
with:
94+
persist-credentials: false
95+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
9096
with:
9197
python-version: 3.12
92-
- uses: PyO3/maturin-action@v1
98+
- uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
9399
with:
94100
working-directory: "bindings/python"
95101
command: build
96-
args: --out dist
97-
- uses: astral-sh/setup-uv@v7
102+
args: --out dist -i python3.12 # Explicitly set interpreter; manylinux containers have multiple Pythons and maturin may pick an older one
103+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
98104
with:
99105
version: "0.9.3"
100106
enable-cache: true

.github/workflows/ci.yml

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,21 @@ jobs:
5353
- ubuntu-latest
5454
- macos-latest
5555
steps:
56-
- uses: actions/checkout@v6
56+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
57+
with:
58+
persist-credentials: false
5759

5860
- name: Setup Rust toolchain
5961
uses: ./.github/actions/setup-builder
6062

6163
- name: Check License Header
62-
uses: apache/skywalking-eyes/header@v0.8.0
64+
uses: apache/skywalking-eyes/header@61275cc80d0798a405cb070f7d3a8aaf7cf2c2c1 # v0.8.0
6365

6466
- name: Check toml format
6567
run: make check-toml
6668

6769
- name: Install protoc
68-
uses: arduino/setup-protoc@v3
70+
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
6971
with:
7072
repo-token: ${{ secrets.GITHUB_TOKEN }}
7173

@@ -91,16 +93,18 @@ jobs:
9193
- macos-latest
9294
- windows-latest
9395
steps:
94-
- uses: actions/checkout@v6
96+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
97+
with:
98+
persist-credentials: false
9599

96100
- name: Setup Rust toolchain
97101
uses: ./.github/actions/setup-builder
98102

99103
- name: Cache Rust artifacts
100-
uses: Swatinem/rust-cache@v2
104+
uses: swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
101105

102106
- name: Install protoc
103-
uses: arduino/setup-protoc@v3
107+
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
104108
with:
105109
repo-token: ${{ secrets.GITHUB_TOKEN }}
106110

@@ -117,13 +121,15 @@ jobs:
117121
- macos-latest
118122
- windows-latest
119123
steps:
120-
- uses: actions/checkout@v6
124+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
125+
with:
126+
persist-credentials: false
121127

122128
- name: Setup Rust toolchain
123129
uses: ./.github/actions/setup-builder
124130

125131
- name: Cache Rust artifacts
126-
uses: Swatinem/rust-cache@v2
132+
uses: swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
127133

128134
- name: Build
129135
run: cargo build -p iceberg --no-default-features
@@ -138,24 +144,26 @@ jobs:
138144
- { name: "doc", args: "--doc --all-features --workspace" }
139145
name: Tests (${{ matrix.test-suite.name }})
140146
steps:
141-
- uses: actions/checkout@v6
147+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
148+
with:
149+
persist-credentials: false
142150

143151
- name: Setup Rust toolchain
144152
uses: ./.github/actions/setup-builder
145153

146154
- name: Install protoc
147-
uses: arduino/setup-protoc@v3
155+
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
148156
with:
149157
repo-token: ${{ secrets.GITHUB_TOKEN }}
150158

151159
- name: Cache Rust artifacts
152-
uses: Swatinem/rust-cache@v2
160+
uses: swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
153161
with:
154162
key: ${{ matrix.test-suite.name }}
155163

156164
- name: Install cargo-nextest
157165
if: matrix.test-suite.name == 'default'
158-
uses: taiki-e/install-action@v2
166+
uses: taiki-e/install-action@0fde6d128a3d980ceac30be8c8b8739abd963b81 # v2.70.0
159167
with:
160168
tool: cargo-nextest
161169

@@ -164,6 +172,7 @@ jobs:
164172
run: make docker-up
165173

166174
- name: Run tests
175+
shell: bash
167176
env:
168177
# Disable debug info to speed up compilation and reduce artifact size
169178
RUSTFLAGS: "-C debuginfo=0"
@@ -182,9 +191,11 @@ jobs:
182191
name: Verify MSRV
183192
runs-on: ubuntu-latest
184193
steps:
185-
- uses: actions/checkout@v6
194+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
195+
with:
196+
persist-credentials: false
186197
- name: Install protoc
187-
uses: arduino/setup-protoc@v3
198+
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
188199
with:
189200
repo-token: ${{ secrets.GITHUB_TOKEN }}
190201
- name: Get MSRV

.github/workflows/ci_typos.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ jobs:
4343
env:
4444
FORCE_COLOR: 1
4545
steps:
46-
- uses: actions/checkout@v6
46+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
47+
with:
48+
persist-credentials: false
4749
- name: Check typos
48-
uses: crate-ci/typos@v1.44.0
50+
uses: crate-ci/typos@631208b7aac2daa8b707f55e7331f9112b0e062d # v1.44.0

.github/workflows/codeql.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,16 @@ jobs:
4141

4242
steps:
4343
- name: Checkout repository
44-
uses: actions/checkout@v6
44+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
45+
with:
46+
persist-credentials: false
4547

4648
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@v4
49+
uses: github/codeql-action/init@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
4850
with:
4951
languages: actions
5052

5153
- name: Perform CodeQL Analysis
52-
uses: github/codeql-action/analyze@v4
54+
uses: github/codeql-action/analyze@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
5355
with:
5456
category: "/language:actions"

0 commit comments

Comments
 (0)