Skip to content

Commit 44e24fd

Browse files
committed
Merge branch 'main' into issue-1273-fix-custom-metadata-location
2 parents 8b1b713 + 7961fdd commit 44e24fd

File tree

1,075 files changed

+49108
-9929
lines changed

Some content is hidden

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

1,075 files changed

+49108
-9929
lines changed

.asf.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ github:
5656
- markdown-link-check
5757
- build
5858
- regtest
59+
- spark-plugin-regtest
5960
- site
6061
- "Helm tests"
6162

@@ -71,7 +72,6 @@ github:
7172
collaborators:
7273
# Adding renovate-bot as a collaborator, so CI doesn't need to be manually approved
7374
- renovate-bot
74-
- singhpk234
7575
- gh-yzou
7676
- nssalian
7777
- adnanhemani

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
# under the License.
1818
#
1919

20-
* @adutra @annafil @anoopj @ashvina @dennishuo @dimas-b @eric-maynard @jackye1995 @jbonofre @vvcephei @collado-mike @snazy @RussellSpitzer @takidau @MonkeyCanCode @flyrain @ebyhr
20+
* @adutra @annafil @anoopj @ashvina @dennishuo @dimas-b @eric-maynard @jackye1995 @jbonofre @vvcephei @collado-mike @snazy @RussellSpitzer @takidau @MonkeyCanCode @flyrain @ebyhr @ajantha-bhat @HonahX @singhpk234 @pingtimeout

.github/workflows/helm.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,7 @@ jobs:
5757
- name: Set up chart-testing
5858
uses: helm/chart-testing-action@v2.6.1
5959

60-
- name: Run chart-testing (list-changed)
61-
id: list-changed
62-
run: |
63-
changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }} --chart-dirs helm)
64-
if [[ -n "$changed" ]]; then
65-
echo "changed=true" >> "$GITHUB_OUTPUT"
66-
fi
67-
6860
- name: Run 'helm template' validation
69-
if: steps.list-changed.outputs.changed == 'true'
7061
run: |
7162
cd helm/polaris
7263
for f in values.yaml ci/*.yaml; do
@@ -76,27 +67,22 @@ jobs:
7667
done
7768
7869
- name: Run Helm unit tests
79-
if: steps.list-changed.outputs.changed == 'true'
8070
run: |
8171
helm plugin install https://github.com/helm-unittest/helm-unittest.git || true
8272
helm unittest helm/polaris
8373
8474
- name: Run chart-testing (lint)
85-
if: steps.list-changed.outputs.changed == 'true'
8675
run: ct lint --target-branch ${{ github.event.repository.default_branch }} --debug --charts ./helm/polaris
8776

8877
- name: Set up Minikube
89-
if: steps.list-changed.outputs.changed == 'true'
9078
uses: medyagh/setup-minikube@v0.0.18
9179

9280
- name: Print Docker info
93-
if: steps.list-changed.outputs.changed == 'true'
9481
run: |
9582
docker -v
9683
minikube docker-env
9784
9885
- name: Image build
99-
if: steps.list-changed.outputs.changed == 'true'
10086
run: |
10187
eval $(minikube -p minikube docker-env)
10288
./gradlew \
@@ -108,13 +94,11 @@ jobs:
10894
minikube image ls
10995
11096
- name: Install fixtures
111-
if: steps.list-changed.outputs.changed == 'true'
11297
run: |
11398
kubectl create namespace polaris-ns
11499
kubectl apply --namespace polaris-ns -f helm/polaris/ci/fixtures
115100
116101
- name: Run chart-testing (install)
117-
if: steps.list-changed.outputs.changed == 'true'
118102
run: |
119103
ct install --target-branch ${{ github.event.repository.default_branch }} \
120104
--namespace polaris-ns \

.github/workflows/nightly.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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+
name: Nightly Build
21+
22+
on:
23+
schedule:
24+
- cron: '15 12 * * *'
25+
workflow_dispatch:
26+
27+
# Setting explicit permissions for the action to avoid the default permissions which are `write-all` in case of pull_request_target event
28+
permissions:
29+
actions: read
30+
pull-requests: read
31+
checks: read
32+
contents: read
33+
deployments: read
34+
id-token: none
35+
issues: read
36+
discussions: read
37+
packages: read
38+
pages: read
39+
repository-projects: read
40+
security-events: read
41+
statuses: read
42+
43+
jobs:
44+
nightly_build:
45+
runs-on: ubuntu-latest
46+
if: github.repository == 'apache/polaris'
47+
steps:
48+
- name: Checkout
49+
uses: actions/checkout@v4
50+
- name: Set up JDK 21
51+
uses: actions/setup-java@v4
52+
with:
53+
java-version: '21'
54+
distribution: 'temurin'
55+
- name: Setup Gradle
56+
uses: gradle/actions/setup-gradle@v4
57+
with:
58+
validate-wrappers: false
59+
- name: Publish SNAPSHOTs to Apache Nexus Repository
60+
run: ./gradlew publishToApache
61+
env:
62+
ORG_GRADLE_PROJECT_apacheUsername: ${{ secrets.NEXUS_USER }}
63+
ORG_GRADLE_PROJECT_apachePassword: ${{ secrets.NEXUS_PW }}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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+
# This workflow uses actions that are not certified by GitHub.
21+
# They are provided by a third-party and are governed by
22+
# separate terms of service, privacy policy, and support
23+
# documentation.
24+
# This workflow will build a Python project with Poetry and cache/restore any dependencies to improve the workflow execution time
25+
# For more information see: https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python
26+
27+
name: Python Client CI
28+
29+
on:
30+
push:
31+
branches: [ "main" ]
32+
pull_request:
33+
branches: [ "main" ]
34+
35+
jobs:
36+
build:
37+
38+
runs-on: ubuntu-latest
39+
strategy:
40+
matrix:
41+
python-version: ["3.9", "3.10", "3.11"]
42+
43+
steps:
44+
- name: Checkout Polaris project
45+
uses: actions/checkout@v4
46+
47+
- name: Set up Python ${{ matrix.python-version }}
48+
uses: actions/setup-python@v5
49+
with:
50+
python-version: ${{ matrix.python-version }}
51+
52+
- name: Install Poetry
53+
run: |
54+
pip install --user --upgrade -r regtests/requirements.txt
55+
56+
# TODO: add cache for poetry dependencies once we have poetry.lock in the repo
57+
- name: Install dependencies
58+
working-directory: client/python
59+
run: poetry install --all-extras
60+
61+
- name: Lint with flake8
62+
working-directory: client/python
63+
run: |
64+
poetry run flake8 --select=E9,F63,F7,F82 --max-line-length=127 --statistics
65+
66+
- name: Test with pytest
67+
working-directory: client/python
68+
run: |
69+
export SCRIPT_DIR="non-existing-mock-directory"
70+
poetry run pytest

.github/workflows/spark_client_regtests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ on:
2525
branches: [ "main" ]
2626

2727
jobs:
28-
regtest:
28+
spark-plugin-regtest:
2929

3030
runs-on: ubuntu-latest
3131
permissions:

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
stale:
2323
runs-on: ubuntu-24.04
2424
steps:
25-
- uses: actions/stale@816d9db1aba399a7f70277f1a2b01a4d21497fdd
25+
- uses: actions/stale@f78de9780efb7a789cf4745957fa3374cbb94fd5
2626
with:
2727
days-before-close: 5
2828
days-before-stale: 30

LICENSE

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,11 @@ This product includes code from Apache Iceberg.
219219
* spec/polaris-catalog-apis/oauth-tokens-api.yaml
220220
* integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogIntegrationTest.java
221221
* service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalog.java
222+
* service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/CatalogHandlerUtils.java
223+
* plugins/spark/v3.5/spark/src/main/java/org/apache/polaris/spark/PolarisSparkCatalog.java
224+
* plugins/spark/v3.5/spark/src/test/java/org/apache/polaris/spark/PolarisInMemoryCatalog.java
225+
* plugins/spark/v3.5/spark/src/main/java/org/apache/polaris/spark/PolarisRESTCatalog.java
226+
* plugins/spark/v3.5/spark/src/main/java/org/apache/polaris/spark/SparkCatalog.java
222227

223228
Copyright: Copyright 2017-2025 The Apache Software Foundation
224229
Home page: https://iceberg.apache.org
@@ -261,11 +266,12 @@ License: https://www.apache.org/licenses/LICENSE-2.0
261266
This product includes code from Project Nessie.
262267

263268
* build-logic/src/main/kotlin/LicenseFileValidation.kt
264-
* build-logic/src/main/kotlin/publishing/MemoizedGitInfo.kt
265-
* build-logic/src/main/kotlin/publishing/PublishingHelperExtension.kt
269+
* build-logic/src/main/kotlin/copiedcode/CopiedCodeCheckerPlugin.kt
270+
* build-logic/src/main/kotlin/copiedcode/CopiedCodeCheckerExtension.kt
266271
* build-logic/src/main/kotlin/publishing/PublishingHelperPlugin.kt
267-
* build-logic/src/main/kotlin/publishing/shadowPub.kt
268-
* build-logic/src/main/kotlin/publishing/util.kt
272+
* build-logic/src/main/kotlin/Utilities.kt
273+
* build-logic/src/main/kotlin/polaris-shadow-jar.gradle.kts
274+
* build-logic/src/main/kotlin/polaris-quarkus.gradle.kts
269275
* tools/config-docs/annotations/src/main/java/org/apache/polaris/docs/ConfigDocs.java
270276
* tools/config-docs/generator/src/main/java/org/apache/polaris/docs/generator/DocGenDoclet.java
271277
* tools/config-docs/generator/src/main/java/org/apache/polaris/docs/generator/MarkdownFormatter.java
@@ -277,8 +283,8 @@ This product includes code from Project Nessie.
277283
* tools/config-docs/generator/src/main/java/org/apache/polaris/docs/generator/PropertyInfo.java
278284
* tools/config-docs/generator/src/main/java/org/apache/polaris/docs/generator/SmallRyeConfigMappingInfo.java
279285
* tools/config-docs/generator/src/main/java/org/apache/polaris/docs/generator/SmallRyeConfigPropertyInfo.java
280-
* tools/config-docs/generator/src/main/java/org/apache/polaris/docs/generator/SmallRyeConfigSectionPage.java
281286
* tools/config-docs/generator/src/main/java/org/apache/polaris/docs/generator/SmallRyeConfigs.java
287+
* tools/config-docs/generator/src/main/java/org/apache/polaris/docs/generator/ReferenceConfigDocsGenerator.java
282288
* tools/config-docs/generator/src/test/java/org/apache/polaris/docs/generator/TestDocGenTool.java
283289
* tools/config-docs/generator/src/test/java/tests/properties/ConfigProps.java
284290
* tools/config-docs/generator/src/test/java/tests/properties/MoreProps.java
@@ -304,6 +310,15 @@ This product includes code from Project Nessie.
304310
* tools/config-docs/generator/src/test/java/tests/smallrye/OtherMapped.java
305311
* tools/config-docs/generator/src/test/java/tests/smallrye/SomeEnum.java
306312
* tools/config-docs/generator/src/test/java/tests/smallrye/VeryNested.java
313+
* tools/container-spec-helper/src/main/java/org/apache/polaris/containerspec/ContainerSpecHelper.java
314+
* quarkus/admin/src/main/java/org/apache/polaris/admintool/PolarisAdminTool.java
315+
* helm/polaris/tests/logging_storage_test.yaml
316+
* helm/polaris/tests/quantity_test.yaml
317+
* helm/polaris/tests/service_monitor_test.yaml
318+
* helm/polaris/templates/_helpers.tpl
319+
* helm/polaris/templates/serviceaccount.yaml
320+
* helm/polaris/templates/servicemonitor.yaml
321+
* helm/polaris/templates/storage.yaml
307322

308323
Copyright: Copyright 2015-2025 Dremio Corporation
309324
Home page: https://projectnessie.org/

NOTICE

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,10 @@ The Apache Software Foundation (http://www.apache.org/).
77
The initial code for the Polaris project was donated
88
to the ASF by Snowflake Inc. (https://www.snowflake.com/) copyright 2024.
99

10+
--------------------------------------------------------------------------------
11+
12+
This project includes code from Project Nessie, developed at Dremio,
13+
with the following copyright notice:
14+
15+
| Nessie
16+
| Copyright 2015-2025 Dremio Corporation

api/iceberg-service/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ openApiGenerate {
6666
configOptions.put("useBeanValidation", "false")
6767
configOptions.put("sourceFolder", "src/main/java")
6868
configOptions.put("useJakartaEe", "true")
69-
openapiNormalizer.put("REFACTOR_ALLOF_WITH_PROPERTIES_ONLY", "true")
7069
additionalProperties.put("apiNamePrefix", "IcebergRest")
7170
additionalProperties.put("apiNameSuffix", "")
7271
additionalProperties.put("metricsPrefix", "polaris")
@@ -120,3 +119,5 @@ sourceSets {
120119
tasks.named("javadoc") { dependsOn("jandex") }
121120

122121
tasks.named("processResources") { dependsOn("openApiGenerate") }
122+
123+
tasks.named("openApiGenerate") { outputs.cacheIf { false } }

0 commit comments

Comments
 (0)