Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into native_hdfs_read_write
Browse files Browse the repository at this point in the history
  • Loading branch information
shbhmrzd committed Jan 10, 2025
2 parents 7be3838 + 0996e13 commit 3681e1f
Show file tree
Hide file tree
Showing 1,216 changed files with 76,445 additions and 40,816 deletions.
15 changes: 11 additions & 4 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# All configurations could be found here: https://github.com/apache/infrastructure-asfyaml/

github:
description: "Apache OpenDAL: access data freely."
description: "Apache OpenDAL: One Layer, All Storage."
homepage: https://opendal.apache.org
labels:
- rust
Expand All @@ -36,14 +36,21 @@ github:
main:
required_pull_request_reviews:
required_approving_review_count: 1
gh-pages:
whatever: Just a placeholder to make it take effects
custom_subjects:
new_discussion: "{title}"
edit_discussion: "Re: {title}"
close_discussion: "Re: {title}"
close_discussion_with_comment: "Re: {title}"
reopen_discussion: "Re: {title}"
new_comment_discussion: "Re: {title}"
edit_comment_discussion: "Re: {title}"
delete_comment_discussion: "Re: {title}"

notifications:
commits: [email protected]
issues: [email protected]
pullrequests: [email protected]
discussions: commits@opendal.apache.org
discussions: dev@opendal.apache.org

staging:
profile: ~
Expand Down
3 changes: 3 additions & 0 deletions .devcontainer/post_create.sh
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,6 @@ opam install -y dune ounit2 ocamlformat

# Setup for Cpp binding
sudo apt install -y ninja-build

# Setup for D binding
sudo apt install -y dmd dub
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,6 @@ indent_size = 2

[*.{yaml,yml}]
indent_size = 2

[*.rb]
indent_size = 2
5 changes: 5 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -212,3 +212,8 @@ OPENDAL_ICLOUD_IS_CHINA_MAINLAND=true
# vercel blob
OPENDAL_VERCEL_BLOB_ROOT=/path/to/dir
OPENDAL_VERCEL_BLOB_TOKEN=<token>
# aliyun drive
OPENDAL_ALIYUN_DRIVE_ROOT=/path/to/dir
OPENDAL_ALIYUN_DRIVE_REFRESH_TOKEN=<refresh_token>
OPENDAL_ALIYUN_DRIVE_CLIENT_ID=<client_id>
OPENDAL_ALIYUN_DRIVE_CLIENT_SECRET=<client_secret>
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ integrations export-ignore

bindings/c export-ignore
bindings/cpp export-ignore
bindings/d export-ignore
bindings/dotnet export-ignore
bindings/go export-ignore
bindings/haskell export-ignore
Expand Down
72 changes: 72 additions & 0 deletions .github/ISSUE_TEMPLATE/1-bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Bug Report
description: Create a report to help us improve
title: "bug: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: "Thank you for taking the time to report a bug. Please provide as much information as possible to help us understand and resolve the issue."

- type: textarea
id: describe-bug
attributes:
label: Describe the bug
description: "A clear and concise description of what the bug is."
placeholder: "Describe the bug..."
validations:
required: true

- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to Reproduce
description: "Steps to reproduce the behavior:"
validations:
required: true

- type: textarea
id: expected-behavior
attributes:
label: Expected Behavior
description: "A clear and concise description of what you expected to happen."
placeholder: "Explain what you expected to happen..."
validations:
required: true

- type: textarea
id: additional-context
attributes:
label: Additional Context
description: "Add any other context about the problem here."
placeholder: "Additional details..."
validations:
required: false

- type: markdown
attributes:
value: "Please make sure to include any relevant information such as screenshots, logs, or code snippets that may help in diagnosing the issue."

- type: checkboxes
id: willing-to-submit-pr
attributes:
label: "Are you willing to submit a PR to fix this bug?"
description: "Let us know if you are willing to contribute a fix by submitting a Pull Request."
options:
- label: "Yes, I would like to submit a PR."
60 changes: 60 additions & 0 deletions .github/ISSUE_TEMPLATE/2-feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Feature Request
description: Suggest an idea for this project
title: "new feature: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: "Thank you for suggesting a new feature. Please fill out the details below to help us understand your idea better."

- type: textarea
id: feature-description
attributes:
label: Feature Description
description: "A detailed description of the feature you would like to see."
placeholder: "Describe the feature you'd like..."
validations:
required: true

- type: textarea
id: problem-solution
attributes:
label: Problem and Solution
description: "Describe the problem that this feature would solve. Explain how you envision it working."
placeholder: "What problem does this feature solve? How do you envision it working?"
validations:
required: true

- type: textarea
id: additional-context
attributes:
label: Additional Context
description: "Add any other context or screenshots about the feature request here."
placeholder: "Add any other context or screenshots about the feature request here."
validations:
required: false

- type: checkboxes
id: willing-to-contribute
attributes:
label: "Are you willing to contribute to the development of this feature?"
description: "Let us know if you are willing to help by contributing code or other resources."
options:
- label: "Yes, I am willing to contribute to the development of this feature."
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/3-new-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: New Release
about: Use this template for start making a new release
title: "Tracking issues of OpenDAL ${opendal_version} Release"
---

This issue is used to track tasks of the opendal ${opendal_version} release.

## Tasks

### Blockers

<!-- Blockers are the tasks that must be completed before the release. -->

### Build Release

#### Release List

<!-- Generate release list by `./scripts/version.py`, please adapt with the actual needs. -->

#### GitHub Side

- [ ] Bump version in project
- [ ] rust
- [ ] cpp
- [ ] haskell
- [ ] java
- [ ] nodejs
- [ ] Update docs
- [ ] Generate dependencies list
- [ ] Push release candidate tag to GitHub

#### ASF Side

- [ ] Create an ASF Release
- [ ] Upload artifacts to the SVN dist repo
- [ ] Close the Nexus staging repo

### Voting

- [ ] Start VOTE at opendal community

### Official Release

- [ ] Push the release git tag
- [ ] Publish artifacts to SVN RELEASE branch
- [ ] Release Maven artifacts
- [ ] Send the announcement

For details of each step, please refer to: https://opendal.apache.org/community/release/
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

blank_issues_enabled: true
contact_links:
- name: Question
url: https://github.com/apache/opendal/discussions/new?category=q-a
about: Ask questions about opendal usage and development.
- name: Discord
url: https://opendal.apache.org/discord
about: Join discord for real-time discussions.
60 changes: 60 additions & 0 deletions .github/actions/setup-hadoop/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Setup Hadoop
description: 'Prepare hadoop binary and env'

inputs:
need-hadoop:
description: "This setup needs hadoop or not"

runs:
using: "composite"
steps:
- name: Setup java env
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "11"

- name: Cache hadoop
id: cache-hadoop
uses: actions/cache@v4
if: inputs.need-hadoop == 'true'
with:
path: /home/runner/hadoop-3.3.5
key: cache-hadoop-3.3.5

- name: Build hadoop if not cached
if: steps.cache-hadoop.outputs.cache-hit != 'true' && inputs.need-hadoop == 'true'
shell: bash
run: |
set -e
curl -LsSf https://dlcdn.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz | tar zxf - -C /home/runner
- name: Setup hadoop env
shell: bash
run: |
export HADOOP_HOME=/home/runner/hadoop-3.3.5
echo "HADOOP_HOME=${HADOOP_HOME}" >> $GITHUB_ENV
echo "CLASSPATH=$(${HADOOP_HOME}/bin/hadoop classpath --glob)" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=${{ env.JAVA_HOME }}/lib/server:${HADOOP_HOME}/lib/native" >> $GITHUB_ENV
cp ${{ github.workspace }}/fixtures/hdfs/hdfs-site.xml ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
4 changes: 2 additions & 2 deletions .github/actions/setup/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,12 @@ runs:
path: |
~/.cargo/bin/cargo-nextest
~/.cargo/bin/cargo-nextest.exe
key: r0-${{runner.os}}-nextest-0.9.59
key: r0-${{runner.os}}-nextest-0.9.72

- name: Build nextest if not cached
if: steps.cache-nextest.outputs.cache-hit != 'true' && inputs.need-nextest == 'true'
shell: bash
run: cargo install [email protected].59 --locked
run: cargo install [email protected].72 --locked

- name: Cache cargo-deny on linux
id: cache-deny
Expand Down
2 changes: 2 additions & 0 deletions .github/actions/test_behavior_bin_ofs/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ runs:
run: cargo test --features ${{ inputs.feature }} --no-default-features -- --nocapture
env:
OPENDAL_TEST: ${{ inputs.service }}
# Remove me after we find out what happened
RUST_TEST_THREADS: 1
EOF
- name: Run
uses: ./dynamic_test_bin_ofs
31 changes: 31 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and enhancements. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123.
-->

Closes #.

# Rationale for this change

<!--
Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.
-->

# What changes are included in this PR?

<!--
There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR.
-->

# Are there any user-facing changes?


<!--
If there are user-facing changes then we may require documentation to be updated before approving the PR.
-->

<!---
If there are any breaking changes to public APIs, please add the `breaking-changes` label.
-->
Loading

0 comments on commit 3681e1f

Please sign in to comment.