Skip to content

Commit b429e43

Browse files
committed
rebase
2 parents 05f0c94 + 14c3387 commit b429e43

File tree

162 files changed

+26495
-8101
lines changed

Some content is hidden

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

162 files changed

+26495
-8101
lines changed

.asf.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ github:
4848
wiki: false
4949
issues: true
5050
projects: true
51+
discussions: true
5152
collaborators:
5253
- JanKaul
5354
- c-thiel
@@ -59,3 +60,4 @@ notifications:
5960
issues: issues@iceberg.apache.org
6061
pullrequests: issues@iceberg.apache.org
6162
jira_options: link label link label
63+
discussions: issues@iceberg.apache.org

.cargo/audit.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,8 @@ ignore = [
2121
# Marvin Attack: potential key recovery through timing sidechannels
2222
# Issues: https://github.com/apache/iceberg-rust/issues/221
2323
"RUSTSEC-2023-0071",
24+
# `derivative` is unmaintained; consider using an alternative
25+
#
26+
# Introduced by hive_metastore, tracked at https://github.com/cloudwego/pilota/issues/293
27+
"RUSTSEC-2024-0388",
2428
]

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
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+
blank_issues_enabled: true
21+
contact_links:
22+
- name: Ask questions about iceberg-rust
23+
url: https://github.com/apache/iceberg-rust/discussions
24+
about: Please ask and answer questions here.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
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: Iceberg Rust Bug Report 🐞
21+
description: Problems, bugs and issues with Apache Iceberg Rust
22+
labels: bug
23+
24+
body:
25+
- type: dropdown
26+
attributes:
27+
label: Apache Iceberg Rust version
28+
description: What Apache Iceberg Rust version are you using?
29+
multiple: false
30+
options:
31+
- 0.4.0 (latest version)
32+
- 0.3.0
33+
- 0.2.0
34+
validations:
35+
required: false
36+
- type: textarea
37+
attributes:
38+
label: Describe the bug
39+
description: >
40+
Describe the problem, what to expect, and how to reproduce.
41+
You can include files by dragging and dropping them here.
42+
validations:
43+
required: true
44+
- type: textarea
45+
attributes:
46+
label: To Reproduce
47+
placeholder: >
48+
Steps to reproduce the behavior:
49+
- type: textarea
50+
attributes:
51+
label: Expected behavior
52+
placeholder: >
53+
A clear and concise description of what you expected to happen.
54+
- type: dropdown
55+
attributes:
56+
label: Willingness to contribute
57+
description: >
58+
The Apache Iceberg community encourages bug fix contributions. Would you or another member of your organization be willing to contribute a fix for this bug to the Apache Iceberg codebase?
59+
options:
60+
- I can contribute a fix for this bug independently
61+
- I would be willing to contribute a fix for this bug with guidance from the Iceberg community
62+
- I cannot contribute a fix for this bug at this time
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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: Iceberg Rust Feature Request
21+
description: Suggest an idea for Iceberg Rust
22+
labels: enhancement
23+
body:
24+
- type: textarea
25+
attributes:
26+
label: Is your feature request related to a problem or challenge?
27+
description: Please describe what you are trying to do.
28+
placeholder: >
29+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
30+
(This section helps Iceberg developers understand the context and *why* for this feature, in addition to the *what*)
31+
- type: textarea
32+
attributes:
33+
label: Describe the solution you'd like
34+
placeholder: >
35+
A clear and concise description of what you want to happen.
36+
- type: dropdown
37+
attributes:
38+
label: Willingness to contribute
39+
description: >
40+
The Apache Iceberg community encourages feature contributions. Would you or another member of your organization be willing to contribute to this feature for the Apache Iceberg Rust codebase?
41+
options:
42+
- I can contribute to this feature independently
43+
- I would be willing to contribute to this feature with guidance from the Iceberg Rust community
44+
- I cannot contribute to this feature at this time

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## Which issue does this PR close?
2+
3+
<!--
4+
We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123.
5+
-->
6+
7+
- Closes #.
8+
9+
## What changes are included in this PR?
10+
11+
<!--
12+
Provide a summary of the modifications in this PR. List the main changes such as new features, bug fixes, refactoring, or any other updates.
13+
-->
14+
15+
## Are these changes tested?
16+
17+
<!--
18+
Specify what test covers (unit test, integration test, etc.).
19+
20+
If tests are not included in your PR, please explain why (for example, are they covered by existing tests)?
21+
-->
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
name: 'Update Package Version'
19+
description: 'Updates pyproject.toml version with a provided timestamp'
20+
inputs:
21+
timestamp:
22+
description: 'Timestamp to override to the package version'
23+
required: true
24+
runs:
25+
using: "composite"
26+
steps:
27+
- name: Setup Python
28+
uses: actions/setup-python@v5
29+
with:
30+
python-version: '3.12'
31+
32+
- name: Install toml
33+
run: pip install toml
34+
shell: bash
35+
36+
- name: Get and update version
37+
shell: bash
38+
env:
39+
TIMESTAMP: ${{ inputs.timestamp }}
40+
run: |
41+
CURRENT_VERSION=$(python -c "import toml; print(toml.load('bindings/python/pyproject.toml')['project']['version'])")
42+
NEW_VERSION="${CURRENT_VERSION}.dev${TIMESTAMP}"
43+
NEW_VERSION=$NEW_VERSION python -c "
44+
import toml
45+
import os
46+
config = toml.load('bindings/python/pyproject.toml')
47+
config['project']['version'] = os.environ['NEW_VERSION']
48+
with open('bindings/python/pyproject.toml', 'w') as f:
49+
toml.dump(config, f)
50+
print(f'Updated version to: {config[\"project\"][\"version\"]}')
51+
"

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

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,26 @@ name: Prepare Rust Builder
2121
description: 'Prepare Rust Build Environment'
2222
inputs:
2323
rust-version:
24-
description: 'version of rust to install (e.g. stable)'
25-
required: true
26-
default: 'stable'
24+
description: 'version of rust to install and use'
2725
runs:
2826
using: "composite"
2927
steps:
30-
- name: Setup Rust toolchain
28+
- name: Setup specified Rust toolchain
3129
shell: bash
30+
if: ${{ inputs.rust-version != '' }}
31+
env:
32+
RUST_VERSION: ${{ inputs.rust-version }}
3233
run: |
33-
echo "Installing ${{ inputs.rust-version }}"
34-
rustup toolchain install ${{ inputs.rust-version }}
35-
rustup default ${{ inputs.rust-version }}
34+
echo "Installing ${RUST_VERSION}"
35+
rustup toolchain install ${RUST_VERSION}
36+
rustup override set ${RUST_VERSION}
37+
rustup component add rustfmt clippy
38+
- name: Setup Rust toolchain according to rust-toolchain.toml
39+
shell: bash
40+
if: ${{ inputs.rust-version == '' }}
41+
run: |
42+
echo "Installing toolchain according to rust-toolchain.toml"
43+
rustup show
3644
rustup component add rustfmt clippy
3745
- name: Fixup git permissions
3846
# https://github.com/actions/checkout/issues/766

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,15 @@ updates:
3030
schedule:
3131
interval: "weekly"
3232
day: "sunday"
33+
open-pull-requests-limit: 50
34+
versioning-strategy: lockfile-only
35+
ignore:
36+
# For all packages, ignore all patch updates
37+
- dependency-name: "*"
38+
update-types: ["version-update:semver-patch"]
39+
groups:
40+
arrow-parquet:
41+
applies-to: version-updates
42+
patterns:
43+
- "arrow*"
44+
- "parquet"

.github/workflows/audit.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,21 @@ on:
3131
paths:
3232
- "**/Cargo.toml"
3333
- "**/Cargo.lock"
34+
- ".github/workflows/audit.yml"
35+
36+
schedule:
37+
- cron: '0 0 * * *'
3438

3539
jobs:
3640
security_audit:
3741
runs-on: ubuntu-latest
3842
steps:
3943
- uses: actions/checkout@v4
40-
- name: Install cargo-audit
41-
run: cargo install cargo-audit
42-
- name: Run audit check
43-
run: cargo audit
44+
- name: Setup Rust toolchain
45+
uses: ./.github/actions/setup-builder
46+
with:
47+
rust-version: stable
48+
- uses: rustsec/audit-check@v2.0.0
49+
with:
50+
token: ${{ secrets.GITHUB_TOKEN }}
51+
ignore: RUSTSEC-2024-0436

0 commit comments

Comments
 (0)