Skip to content

Commit f64d6ca

Browse files
authored
Merge branch 'apache:main' into kris-gaudel/configurable-manifest-cache
2 parents a87cc1c + 098174c commit f64d6ca

Some content is hidden

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

43 files changed

+1661
-517
lines changed

.github/ISSUE_TEMPLATE/iceberg_bug_report.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ body:
2828
description: What Apache Iceberg version are you using?
2929
multiple: false
3030
options:
31-
- "0.10.0 (latest release)"
31+
- "0.11.0 (latest release)"
32+
- "0.10.0"
3233
- "0.9.1"
3334
- "0.9.0"
3435
- "0.8.1"

.github/workflows/check-md-link.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ on:
3232
- 'mkdocs/**'
3333
workflow_dispatch:
3434

35+
permissions:
36+
contents: read
37+
3538
jobs:
3639
markdown-link-check:
3740
runs-on: ubuntu-latest

.github/workflows/codeql.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,21 @@ on:
2727
schedule:
2828
- cron: '16 4 * * 1'
2929

30+
permissions:
31+
contents: read
32+
3033
jobs:
3134
analyze:
3235
name: Analyze Actions
33-
runs-on: ubuntu-latest
36+
runs-on: ubuntu-slim
3437
permissions:
38+
contents: read
3539
security-events: write
3640
packages: read
3741

3842
steps:
3943
- name: Checkout repository
40-
uses: actions/checkout@v4
44+
uses: actions/checkout@v6
4145

4246
- name: Initialize CodeQL
4347
uses: github/codeql-action/init@v4

.github/workflows/license_check.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
name: "Run License Check"
2121
on: pull_request
2222

23+
permissions:
24+
contents: read
25+
2326
jobs:
2427
rat:
2528
runs-on: ubuntu-latest

.github/workflows/nightly-pypi-build.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ on:
2424
- cron: "0 0 * * *" # Runs at midnight UTC every day
2525
workflow_dispatch: # Allows manual triggering
2626

27+
permissions:
28+
contents: read
29+
2730
jobs:
2831
set-version:
2932
if: github.repository == 'apache/iceberg-python' # Only run for apache repo
@@ -71,7 +74,7 @@ jobs:
7174

7275
steps:
7376
- name: Download all the artifacts
74-
uses: actions/download-artifact@v7
77+
uses: actions/download-artifact@v8
7578
with:
7679
merge-multiple: true
7780
path: dist/

.github/workflows/pypi-build-artifacts.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ on:
2626
required: true
2727
type: string
2828

29+
permissions:
30+
contents: read
31+
2932
jobs:
3033
pypi-build-artifacts:
3134
name: Build artifacts for PyPi on ${{ matrix.os }}
@@ -63,14 +66,16 @@ jobs:
6366
if: matrix.os == 'ubuntu-latest'
6467

6568
- name: Build wheels
66-
uses: pypa/cibuildwheel@v3.3.1
69+
uses: pypa/cibuildwheel@v3.4.0
6770
with:
6871
output-dir: wheelhouse
6972
config-file: "pyproject.toml"
7073
env:
7174
# Ignore 32 bit architectures
7275
CIBW_ARCHS: "auto64"
7376
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.10,<3.14"
77+
# Keep these in sync with Python CI job `cibw-dev-env-smoke-test`
78+
# in .github/workflows/python-ci.yml to catch import-time regressions early.
7479
CIBW_BEFORE_TEST: "uv sync --directory {project} --only-group dev --no-install-project"
7580
CIBW_TEST_COMMAND: "uv run --directory {project} pytest tests/avro/test_decoder.py"
7681
# Skip free-threaded (PEP 703) builds until we evaluate decoder_fast support

.github/workflows/python-ci-docs.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,17 @@ on:
2525
- 'main'
2626
pull_request:
2727

28+
permissions:
29+
contents: read
30+
2831

2932
concurrency:
3033
group: ${{ github.workflow }}-${{ github.ref }}
3134
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
3235

3336
jobs:
3437
docs:
35-
runs-on: ubuntu-latest
38+
runs-on: ubuntu-slim
3639

3740
steps:
3841
- uses: actions/checkout@v6

.github/workflows/python-ci.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ on:
3838
- '!LICENSE'
3939
- '!NOTICE'
4040

41+
permissions:
42+
contents: read
43+
4144
concurrency:
4245
group: ${{ github.workflow }}-${{ github.ref }}
4346
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
@@ -62,6 +65,8 @@ jobs:
6265
enable-cache: true
6366
- name: Install system dependencies
6467
run: sudo apt-get update && sudo apt-get install -y libkrb5-dev # for kerberos
68+
- name: Check uv.lock is up to date
69+
run: uv lock --check
6570
- name: Install
6671
run: make install
6772
- name: Run linters
@@ -194,9 +199,32 @@ jobs:
194199
- name: Install dependencies
195200
run: uv sync --group dev
196201
- name: Download all coverage artifacts
197-
uses: actions/download-artifact@v7
202+
uses: actions/download-artifact@v8
198203
with:
199204
pattern: coverage-*
200205
merge-multiple: true
201206
- name: Generate coverage report (75%) # Coverage threshold should only increase over time — never decrease it!
202207
run: COVERAGE_FAIL_UNDER=75 make coverage-report
208+
209+
cibw-dev-env-smoke-test:
210+
runs-on: ubuntu-latest
211+
steps:
212+
- uses: actions/checkout@v6
213+
- uses: actions/setup-python@v6
214+
with:
215+
python-version: '3.12'
216+
- name: Install UV
217+
uses: astral-sh/setup-uv@v7
218+
with:
219+
enable-cache: true
220+
# Why this exists:
221+
# Catch import-time regressions (e.g., global conftest optional deps)
222+
# in the same dev-only environment used by cibuildwheel wheel tests.
223+
# Keep this in sync with wheel build test setup in
224+
# .github/workflows/pypi-build-artifacts.yml:
225+
# CIBW_BEFORE_TEST: uv sync --directory {project} --only-group dev --no-install-project
226+
# CIBW_TEST_COMMAND: uv run --directory {project} pytest tests/avro/test_decoder.py
227+
- name: Mirror wheel CIBW_BEFORE_TEST
228+
run: uv sync --directory . --only-group dev --no-install-project
229+
- name: Mirror wheel CIBW_TEST_COMMAND
230+
run: uv run --directory . pytest tests/avro/test_decoder.py

.github/workflows/python-release-docs.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,24 @@ name: "Release Docs"
2121
on:
2222
workflow_dispatch:
2323

24+
permissions:
25+
contents: read
26+
2427
concurrency:
2528
group: ${{ github.workflow }}-${{ github.ref }}
2629
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
2730

2831
jobs:
2932
docs:
3033
runs-on: ubuntu-latest
34+
permissions:
35+
contents: write
3136

3237
steps:
3338
- uses: actions/checkout@v6
3439
- uses: actions/setup-python@v6
3540
with:
36-
python-version: ${{ matrix.python }}
41+
python-version: 3.12
3742
- name: Install UV
3843
uses: astral-sh/setup-uv@v7
3944
- name: Build docs

.github/workflows/python-release.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ on:
3636
type: number
3737
required: true
3838

39+
permissions:
40+
contents: read
41+
3942
jobs:
4043
validate-inputs:
4144
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)