Skip to content

Commit cba4cf1

Browse files
committed
Merge branch 'main' of github.com:apache/iceberg-python into fd-integrate-residuals
2 parents afdfef2 + 9185389 commit cba4cf1

Some content is hidden

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

50 files changed

+2854
-1277
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.9.0 (latest release)"
31+
- "0.9.1 (latest release)"
32+
- "0.9.0"
3233
- "0.8.1"
3334
- "0.8.0"
3435
- "0.7.1"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
if: startsWith(matrix.os, 'ubuntu')
6363

6464
- name: Build wheels
65-
uses: pypa/cibuildwheel@v2.23.2
65+
uses: pypa/cibuildwheel@v2.23.3
6666
with:
6767
output-dir: wheelhouse
6868
config-file: "pyproject.toml"

.github/workflows/python-ci.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,22 @@ jobs:
6565
- name: Linters
6666
run: make lint
6767
- name: Tests
68-
run: make test-coverage
68+
run: make test-coverage-unit
69+
70+
integration-test:
71+
runs-on: ubuntu-22.04
72+
strategy:
73+
matrix:
74+
python: ['3.9', '3.10', '3.11', '3.12']
75+
76+
steps:
77+
- uses: actions/checkout@v4
78+
- name: Install system dependencies
79+
run: sudo apt-get update && sudo apt-get install -y libkrb5-dev # for kerberos
80+
- name: Install
81+
run: make install
82+
- name: Run integration tests
83+
run: make test-coverage-integration
84+
- name: Show debug logs
85+
if: ${{ failure() }}
86+
run: docker compose -f dev/docker-compose.yml logs

.github/workflows/python-integration.yml

Lines changed: 0 additions & 61 deletions
This file was deleted.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
if: startsWith(matrix.os, 'ubuntu')
5858

5959
- name: Build wheels
60-
uses: pypa/cibuildwheel@v2.23.2
60+
uses: pypa/cibuildwheel@v2.23.3
6161
with:
6262
output-dir: wheelhouse
6363
config-file: "pyproject.toml"

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ coverage.xml
3535
.project
3636
.settings
3737
bin/
38+
.vscode/
3839

3940
# Hive/metastore files
4041
metastore_db/

Makefile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,17 @@ test-s3: # Run tests marked with s3, can add arguments with PYTEST_ARGS="-vv"
5252
sh ./dev/run-minio.sh
5353
poetry run pytest tests/ -m s3 ${PYTEST_ARGS}
5454

55-
test-integration: ## Run all integration tests, can add arguments with PYTEST_ARGS="-vv"
55+
test-integration: | test-integration-setup test-integration-exec ## Run all integration tests, can add arguments with PYTEST_ARGS="-vv"
56+
57+
test-integration-setup: # Prepare the environment for integration
5658
docker compose -f dev/docker-compose-integration.yml kill
5759
docker compose -f dev/docker-compose-integration.yml rm -f
5860
docker compose -f dev/docker-compose-integration.yml up -d
5961
sleep 10
6062
docker compose -f dev/docker-compose-integration.yml cp ./dev/provision.py spark-iceberg:/opt/spark/provision.py
6163
docker compose -f dev/docker-compose-integration.yml exec -T spark-iceberg ipython ./provision.py
64+
65+
test-integration-exec: # Execute integration tests, can add arguments with PYTEST_ARGS="-vv"
6266
poetry run pytest tests/ -v -m integration ${PYTEST_ARGS}
6367

6468
test-integration-rebuild:

dev/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,20 @@ WORKDIR ${SPARK_HOME}
3939
# Remember to also update `tests/conftest`'s spark setting
4040
ENV SPARK_VERSION=3.5.4
4141
ENV ICEBERG_SPARK_RUNTIME_VERSION=3.5_2.12
42-
ENV ICEBERG_VERSION=1.9.0-SNAPSHOT
42+
ENV ICEBERG_VERSION=1.9.0
4343
ENV PYICEBERG_VERSION=0.9.0
4444

4545
RUN curl --retry 5 -s -C - https://archive.apache.org/dist/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}-bin-hadoop3.tgz -o spark-${SPARK_VERSION}-bin-hadoop3.tgz \
4646
&& tar xzf spark-${SPARK_VERSION}-bin-hadoop3.tgz --directory /opt/spark --strip-components 1 \
4747
&& rm -rf spark-${SPARK_VERSION}-bin-hadoop3.tgz
4848

4949
# Download iceberg spark runtime
50-
RUN curl --retry 5 -s https://repository.apache.org/content/groups/snapshots/org/apache/iceberg/iceberg-spark-runtime-3.5_2.12/1.9.0-SNAPSHOT/iceberg-spark-runtime-3.5_2.12-1.9.0-20250409.001855-44.jar \
50+
RUN curl --retry 5 -s https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}/${ICEBERG_VERSION}/iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}-${ICEBERG_VERSION}.jar \
5151
-Lo /opt/spark/jars/iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}-${ICEBERG_VERSION}.jar
5252

5353

5454
# Download AWS bundle
55-
RUN curl --retry 5 -s https://repository.apache.org/content/groups/snapshots/org/apache/iceberg/iceberg-aws-bundle/1.9.0-SNAPSHOT/iceberg-aws-bundle-1.9.0-20250409.002731-88.jar \
55+
RUN curl --retry 5 -s https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-aws-bundle/${ICEBERG_VERSION}/iceberg-aws-bundle-${ICEBERG_VERSION}.jar \
5656
-Lo /opt/spark/jars/iceberg-aws-bundle-${ICEBERG_VERSION}.jar
5757

5858
COPY spark-defaults.conf /opt/spark/conf

dev/docker-compose-integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ services:
8181
- AWS_REGION=us-east-1
8282
entrypoint: >
8383
/bin/sh -c "
84-
until (/usr/bin/mc config host add minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done;
84+
until (/usr/bin/mc alias set minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done;
8585
/usr/bin/mc mb minio/warehouse;
8686
/usr/bin/mc policy set public minio/warehouse;
8787
tail -f /dev/null

dev/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ services:
3838
- AWS_REGION=us-east-1
3939
entrypoint: >
4040
/bin/sh -c "
41-
until (/usr/bin/mc config host add minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done;
41+
until (/usr/bin/mc alias set minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done;
4242
/usr/bin/mc rm -r --force minio/warehouse;
4343
/usr/bin/mc mb minio/warehouse;
4444
/usr/bin/mc policy set public minio/warehouse;

0 commit comments

Comments
 (0)