Skip to content

Commit 75df48c

Browse files
committed
Merge remote-tracking branch 'apache/main' into cast-expression-support
2 parents 35c2f3c + 5da8186 commit 75df48c

78 files changed

Lines changed: 4650 additions & 1161 deletions

Some content is hidden

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

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,11 @@ updates:
2626
open-pull-requests-limit: 50
2727
ignore:
2828
- dependency-name: "datafusion"
29+
cooldown:
30+
default-days: 7
31+
- package-ecosystem: "github-actions"
32+
directory: "/"
33+
schedule:
34+
interval: "weekly"
35+
cooldown:
36+
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.0.2
44+
with:
45+
persist-credentials: false
46+
- uses: apache/infrastructure-actions/allowlist-check@4e9c961f587f72b170874b6f5cd4ac15f7f26eb8 # main

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,7 @@ jobs:
3939
markdown-link-check:
4040
runs-on: ubuntu-latest
4141
steps:
42-
- uses: actions/checkout@master
43-
- uses: tcort/github-action-markdown-link-check@e7c7a18363c842693fadde5d41a3bd3573a7a225
42+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
43+
with:
44+
persist-credentials: false
45+
- uses: tcort/github-action-markdown-link-check@e7c7a18363c842693fadde5d41a3bd3573a7a225 # v1.1.2

.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.0.2
45+
with:
46+
persist-credentials: false
4547

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

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

.github/workflows/license_check.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,7 @@ jobs:
2727
rat:
2828
runs-on: ubuntu-latest
2929
steps:
30-
- uses: actions/checkout@v6
30+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
31+
with:
32+
persist-credentials: false
3133
- run: dev/check-license

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

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,22 @@ permissions:
2929

3030
jobs:
3131
set-version:
32-
if: github.repository == 'apache/iceberg-python' # Only run for apache repo
32+
if: github.repository == 'apache/iceberg-python' || github.event_name == 'workflow_dispatch' # Run on schedule for apache repo, or on manual dispatch from any repo
3333
runs-on: ubuntu-latest
3434
outputs:
3535
VERSION: ${{ steps.set-version.outputs.VERSION }}
3636
steps:
37-
- uses: actions/checkout@v6
37+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3838
with:
3939
fetch-depth: 1
40+
persist-credentials: false
4041

41-
- uses: actions/setup-python@v6
42+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
4243
with:
4344
python-version: 3.12
4445

4546
- name: Install UV
46-
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098
47+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
4748

4849
- name: Set version
4950
id: set-version
@@ -53,7 +54,10 @@ jobs:
5354
echo "VERSION=${CURRENT_VERSION}.dev${TIMESTAMP}" >> "$GITHUB_OUTPUT"
5455
5556
- name: Debug version
56-
run: echo "Publishing version ${{ steps.set-version.outputs.VERSION }}"
57+
run: echo "Publishing version ${STEPS_SET_VERSION_OUTPUTS_VERSION}"
58+
shell: bash
59+
env:
60+
STEPS_SET_VERSION_OUTPUTS_VERSION: ${{ steps.set-version.outputs.VERSION }}
5761

5862
nightly-build:
5963
needs: set-version
@@ -62,6 +66,7 @@ jobs:
6266
version: ${{ needs.set-version.outputs.VERSION }}
6367
testpypi-publish:
6468
name: Publish to TestPypi
69+
if: github.repository == 'apache/iceberg-python' # Only run for apache repo
6570
needs:
6671
- nightly-build
6772
runs-on: ubuntu-latest
@@ -74,7 +79,7 @@ jobs:
7479

7580
steps:
7681
- name: Download all the artifacts
77-
uses: actions/download-artifact@v8
82+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
7883
with:
7984
merge-multiple: true
8085
path: dist/
@@ -83,7 +88,7 @@ jobs:
8388
- name: Publish to TestPyPI
8489
id: publish-testpypi
8590
continue-on-error: true
86-
uses: pypa/gh-action-pypi-publish@release/v1
91+
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
8792
with:
8893
repository-url: https://test.pypi.org/legacy/
8994
skip-existing: true

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

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,25 +39,28 @@ jobs:
3939
os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-15-intel, macos-latest ]
4040

4141
steps:
42-
- uses: actions/checkout@v6
42+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4343
with:
4444
fetch-depth: 1
45+
persist-credentials: false
4546

46-
- uses: actions/setup-python@v6
47+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
4748
with:
4849
python-version: |
4950
3.10
5051
3.11
5152
3.12
5253
3.13
54+
3.14
5355
5456
- name: Install UV
55-
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098
57+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
5658

5759
- name: Set version with RC
60+
shell: bash
5861
env:
5962
VERSION: ${{ inputs.VERSION }}
60-
run: uv version "${{ env.VERSION }}"
63+
run: uv version "$VERSION"
6164

6265
# Publish the source distribution with the version that's in
6366
# the repository, otherwise the tests will fail
@@ -66,14 +69,14 @@ jobs:
6669
if: matrix.os == 'ubuntu-latest'
6770

6871
- name: Build wheels
69-
uses: pypa/cibuildwheel@ee02a1537ce3071a004a6b08c41e72f0fdc42d9a
72+
uses: pypa/cibuildwheel@8d2b08b68458a16aeb24b64e68a09ab1c8e82084 # v3.4.1
7073
with:
7174
output-dir: wheelhouse
7275
config-file: "pyproject.toml"
7376
env:
7477
# Ignore 32 bit architectures
7578
CIBW_ARCHS: "auto64"
76-
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.10,<3.14"
79+
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.10,<3.15"
7780
# Keep these in sync with Python CI job `cibw-dev-env-smoke-test`
7881
# in .github/workflows/python-ci.yml to catch import-time regressions early.
7982
CIBW_BEFORE_TEST: "uv sync --directory {project} --only-group dev --no-install-project"
@@ -86,7 +89,7 @@ jobs:
8689
if: matrix.os == 'ubuntu-latest'
8790
run: ls -lah dist/* && cp dist/* wheelhouse/
8891

89-
- uses: actions/upload-artifact@v4
92+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
9093
with:
9194
name: "pypi-release-candidate-${{ matrix.os }}"
9295
path: ./wheelhouse/*
@@ -97,7 +100,7 @@ jobs:
97100
- pypi-build-artifacts
98101
steps:
99102
- name: Merge Artifacts
100-
uses: actions/upload-artifact/merge@v4
103+
uses: actions/upload-artifact/merge@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
101104
with:
102105
name: "pypi-release-candidate-${{ inputs.VERSION }}"
103106
pattern: pypi-release-candidate*

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,14 @@ jobs:
3838
runs-on: ubuntu-slim
3939

4040
steps:
41-
- uses: actions/checkout@v6
42-
- uses: actions/setup-python@v6
41+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
42+
with:
43+
persist-credentials: false
44+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
4345
with:
4446
python-version: 3.12
4547
- name: Install UV
46-
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098
48+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
4749
- name: Build docs
4850
run: make docs-build
4951
- name: Run linters

0 commit comments

Comments
 (0)