suyanhanx commented on code in PR #2169: URL: https://github.com/apache/incubator-opendal/pull/2169#discussion_r1181102050
########## CONTRIBUTING.md: ########## @@ -1,34 +1,70 @@ # Contributing -Hello, welcome to the OpenDAL Community! Thanks for your interest in the Apache OpenDAL project! This document will guide you on how to participate in our community and enjoy your time here. +First, thank you for contributing to OpenDAL! The goal of this document is to provide everything you need to start contributing to OpenDAL. The following TOC is sorted progressively, starting with the basics and expanding into more specifics. Review Comment: ? The reader may hasn't done any contribution. ########## DEVELOPING.md: ########## @@ -0,0 +1,21 @@ +# Developing + +- [Setup](#setup) + - [Using a devcontainer environment](#using-a-devcontainer-environment) + - [Bring your own toolbox](#bring-your-own-toolbox) + +## Setup + +We're super excited to have you interested in working on OpenDAL! Before you start you should pick how you want to develop. + +For small or first-time contributions, we recommend the devcontainer method. Prefer to do it yourself? That's fine too! + +### Using a devcontainer environment + +OpenDAL provides a pre-configured [devcontainer](https://containers.dev/) that could be used in [Github Codespaces](https://github.com/features/codespaces), [VSCode](https://code.visualstudio.com/), [JetBrains](https://www.jetbrains.com/remote-development/gateway/), [JuptyerLab](https://jupyterlab.readthedocs.io/en/stable/). Please pick up your favourite runtime environment. + +The fastest way is [click here to create a new codespace for OpenDAL](https://github.com/codespaces/new?skip_quickstart=true&machine=standardLinux32gb&repo=459025965&ref=main). + +--- + +*This document is highly inspired by [Vector](https://github.com/vectordotdev/vector/)* Review Comment: ditto. ########## CONTRIBUTING.md: ########## @@ -1,34 +1,70 @@ # Contributing -Hello, welcome to the OpenDAL Community! Thanks for your interest in the Apache OpenDAL project! This document will guide you on how to participate in our community and enjoy your time here. +First, thank you for contributing to OpenDAL! The goal of this document is to provide everything you need to start contributing to OpenDAL. The following TOC is sorted progressively, starting with the basics and expanding into more specifics. -## Code of Conduct +- [Your First Contribution](#your-first-contribution) +- [Workflow](#workflow) + - [Git Branches](#git-branches) + - [GitHub Pull Requests](#github-pull-requests) + - [Title](#title) + - [Reviews & Approvals](#reviews--approvals) + - [Merge Style](#merge-style) + - [CI](#ci) +- [Next steps](#next-steps) +- [Code of Conduct](#code-of-conduct) -We expect all community members to follow our [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html). +## Your First Contribution + +1. Ensure your change has an issue! Find an [existing issue](https://github.com/apache/incubator-opendal/issues) or [open a new issue](https://github.com/apache/incubator-opendal/issues/new). +1. [Fork the OpenDAL repository](https://github.com/apache/incubator-opendal/fork) in your own GitHub account. +1. [Create a new Git branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository). Review Comment: I think you may add a step before this to help reader to clone their repo to local. And it's confused that some of links are actions, others are routes. We may just provide commands samples. And help pages can be references. ########## README.md: ########## @@ -1,102 +1,41 @@ +<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="website/static/img/logo_dark.svg"> <img alt="Apache OpenDAL(incubating)" src="website/static/img/logo.svg" width="300px"> </picture> +</p> -[![Build Status]][actions] [![chat]][discord] Review Comment: We could keep this. ########## README.md: ########## @@ -1,102 +1,41 @@ +<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="website/static/img/logo_dark.svg"> <img alt="Apache OpenDAL(incubating)" src="website/static/img/logo.svg" width="300px"> </picture> +</p> -[![Build Status]][actions] [![chat]][discord] +--- -[build status]: https://img.shields.io/github/actions/workflow/status/apache/incubator-opendal/ci.yml?branch=main -[actions]: https://github.com/apache/incubator-opendal/actions?query=branch%3Amain -[chat]: https://img.shields.io/discord/1081052318650339399 -[discord]: https://discord.gg/XQy8yGR2dg - -**Open** **D**ata **A**ccess **L**ayer: Access data freely, painlessly, and efficiently +OpenDAL is a data access layer that allows users to easily and efficiently retrieve data from various storage services in an unified way.  -## Components - -- [core](core/README.md): OpenDAL Rust Core - - Documentation: [stable](https://docs.rs/opendal/) | [main](https://opendal.apache.org/docs/rust/opendal/) -- [binding-c](bindings/c): OpenDAL C Binding (working on) -- [binding-java](bindings/java): OpenDAL Java Binding (working on) -- [binding-nodejs](bindings/nodejs/README.md): OpenDAL Node.js Binding - - Documentation: [main](https://opendal.apache.org/docs/nodejs/) -- [binding-python](bindings/python/README.md): OpenDAL Python Binding - - Documentation: [main](https://opendal.apache.org/docs/python/) -- [binding-ruby](bindings/ruby): OpenDAL Ruby Binding (working on) -- bin - - [oli](bin/oli): OpenDAL Command Line Interface - -## Quickstart - -### Rust - -```rust -use opendal::Result; -use opendal::layers::LoggingLayer; -use opendal::services; -use opendal::Operator; - -#[tokio::main] -async fn main() -> Result<()> { - // Pick a builder and configure it. - let mut builder = services::S3::default(); - builder.bucket("test"); - - // Init an operator - let op = Operator::new(builder)? - // Init with logging layer enabled. - .layer(LoggingLayer::default()) - .finish(); - - // Write data - op.write("hello.txt", "Hello, World!").await?; - // Read data - let bs = op.read("hello.txt").await?; +Major components of the project include: - // Fetch metadata - let meta = op.stat("hello.txt").await?; - let mode = meta.mode(); - let length = meta.content_length(); +**Libraries** - // Delete - op.delete("hello.txt").await?; +- [Rust Core](core/README.md) +- [Node.js Binding](bindings/nodejs/README.md) +- [Python Binding](bindings/python/README.md) +- [C Binding](bindings/c) *working on* +- [Java Binding](bindings/java) *working on* +- [Ruby Binding](bindings/ruby): *working on* Review Comment: please remove the `:` ########## CONTRIBUTING.md: ########## @@ -1,34 +1,70 @@ # Contributing -Hello, welcome to the OpenDAL Community! Thanks for your interest in the Apache OpenDAL project! This document will guide you on how to participate in our community and enjoy your time here. +First, thank you for contributing to OpenDAL! The goal of this document is to provide everything you need to start contributing to OpenDAL. The following TOC is sorted progressively, starting with the basics and expanding into more specifics. -## Code of Conduct +- [Your First Contribution](#your-first-contribution) +- [Workflow](#workflow) + - [Git Branches](#git-branches) + - [GitHub Pull Requests](#github-pull-requests) + - [Title](#title) + - [Reviews & Approvals](#reviews--approvals) + - [Merge Style](#merge-style) + - [CI](#ci) +- [Next steps](#next-steps) +- [Code of Conduct](#code-of-conduct) -We expect all community members to follow our [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html). +## Your First Contribution + +1. Ensure your change has an issue! Find an [existing issue](https://github.com/apache/incubator-opendal/issues) or [open a new issue](https://github.com/apache/incubator-opendal/issues/new). +1. [Fork the OpenDAL repository](https://github.com/apache/incubator-opendal/fork) in your own GitHub account. +1. [Create a new Git branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository). +1. Make your changes. +1. [Submit the branch as a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) to the main OpenDAL repo. An OpenDAL team member should comment and/or review your pull request within a few days. Although, depending on the circumstances, it may take longer. + +## Workflow + +### Git Branches + +*All* changes must be made in a branch and submitted as [pull requests](#github-pull-requests). OpenDAL does not adopt any type of branch naming style, but please use something descriptive of your changes. -## Communication +### GitHub Pull Requests -We use [GitHub Discussions](https://github.com/apache/incubator-opendal/discussions) for general discussions and questions. Please use the `Q&A` category for questions and the `General` category for general discussions. +Once your changes are ready you must submit your branch as a [pull request](https://github.com/apache/incubator-opendal/pulls). -We also use [GitHub Issues](https://github.com/apache/incubator-opendal/issues) for bug reports and feature requests. +#### Title -Otherwise, you can join our [Discord Channel](https://discord.gg/XQy8yGR2dg) for real-time discussions. +The pull request title must follow the format outlined in the [conventional commits spec](https://www.conventionalcommits.org). [Conventional commits](https://www.conventionalcommits.org) is a standardized format for commit messages. OpenDAL only requires this format for commits on the `main` branch. And because OpenDAL squashes commits before merging branches, this means that only the pull request title must conform to this format. -## Taking Issues +The following are all good examples of pull request titles: -It is highly recommended to request an assignment before beginning work on any issues to avoid conflicts with other community members. +```text +feat(services/gcs): Add start-after support for list +docs: add hdfs classpath related troubleshoot +ci: Mark job as skipped if owner is not apache +fix(services/s3): Ignore prefix if it's empty +refactor: Polish the implementation of webhdfs +``` -It is encouraged to post your work progress in the issues comment so that the community can stay informed about ongoing developments and offer any necessary assistance. +#### Reviews & Approvals -It is possible that your assignment has been removed after 14 days of no updates. Please note that this is not a punishment or dissatisfaction from the community. We understand that life can be challenging, and things may not always go as planned. +All pull requests should be reviewed by at least one OpenDAL committers. -By removing the assignment, we create space for other community members to take over. Additionally, we do not frequently check the assignment due date, so please communicate any stale issues through the issue tracker. +#### Merge Style -## Sending PRs +All pull requests are squashed and merged. We generally discourage large pull requests that are over 300-500 lines of diff. If you would like to propose a change that is larger we suggest coming onto our [Discussions](https://github.com/apache/incubator-opendal/discussions) and discuss it with us. This way we can talk through the solution and discuss if a change that large is even needed! This will produce a quicker response to the change and likely produce code that aligns better with our process. -If you find an issue you would like to fix, open a pull request. For code changes, please refer to the particular component's development guide. +### CI -We will try our best to review your PRs within 24 hours, and often within 8 hours. +Currently, Vector uses GitHub Actions to run tests. The workflows are defined in `.github/workflows`. + +## Next steps + +Visiting **[DEVELOPING.md](DEVELOPING.md)** to prepare Everything necessary to develop. + +## Code of Conduct + +We expect all community members to follow our [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html). -If a PR does not receive a response within 24 hours, it will be converted to draft status. To indicate that you are ready for review, please mark the PR as `ready for review`. +--- +*This document is highly inspired by [Vector](https://github.com/vectordotdev/vector/)* Review Comment: It's great for the credit. But I think it's also really confused. Maybe better to remove this line. ########## CONTRIBUTING.md: ########## @@ -1,34 +1,70 @@ # Contributing -Hello, welcome to the OpenDAL Community! Thanks for your interest in the Apache OpenDAL project! This document will guide you on how to participate in our community and enjoy your time here. +First, thank you for contributing to OpenDAL! The goal of this document is to provide everything you need to start contributing to OpenDAL. The following TOC is sorted progressively, starting with the basics and expanding into more specifics. -## Code of Conduct +- [Your First Contribution](#your-first-contribution) +- [Workflow](#workflow) + - [Git Branches](#git-branches) + - [GitHub Pull Requests](#github-pull-requests) + - [Title](#title) + - [Reviews & Approvals](#reviews--approvals) + - [Merge Style](#merge-style) + - [CI](#ci) +- [Next steps](#next-steps) +- [Code of Conduct](#code-of-conduct) -We expect all community members to follow our [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html). +## Your First Contribution + +1. Ensure your change has an issue! Find an [existing issue](https://github.com/apache/incubator-opendal/issues) or [open a new issue](https://github.com/apache/incubator-opendal/issues/new). +1. [Fork the OpenDAL repository](https://github.com/apache/incubator-opendal/fork) in your own GitHub account. +1. [Create a new Git branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository). +1. Make your changes. +1. [Submit the branch as a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) to the main OpenDAL repo. An OpenDAL team member should comment and/or review your pull request within a few days. Although, depending on the circumstances, it may take longer. + +## Workflow + +### Git Branches + +*All* changes must be made in a branch and submitted as [pull requests](#github-pull-requests). OpenDAL does not adopt any type of branch naming style, but please use something descriptive of your changes. -## Communication +### GitHub Pull Requests -We use [GitHub Discussions](https://github.com/apache/incubator-opendal/discussions) for general discussions and questions. Please use the `Q&A` category for questions and the `General` category for general discussions. +Once your changes are ready you must submit your branch as a [pull request](https://github.com/apache/incubator-opendal/pulls). -We also use [GitHub Issues](https://github.com/apache/incubator-opendal/issues) for bug reports and feature requests. +#### Title -Otherwise, you can join our [Discord Channel](https://discord.gg/XQy8yGR2dg) for real-time discussions. +The pull request title must follow the format outlined in the [conventional commits spec](https://www.conventionalcommits.org). [Conventional commits](https://www.conventionalcommits.org) is a standardized format for commit messages. OpenDAL only requires this format for commits on the `main` branch. And because OpenDAL squashes commits before merging branches, this means that only the pull request title must conform to this format. -## Taking Issues +The following are all good examples of pull request titles: -It is highly recommended to request an assignment before beginning work on any issues to avoid conflicts with other community members. +```text +feat(services/gcs): Add start-after support for list +docs: add hdfs classpath related troubleshoot +ci: Mark job as skipped if owner is not apache +fix(services/s3): Ignore prefix if it's empty +refactor: Polish the implementation of webhdfs +``` -It is encouraged to post your work progress in the issues comment so that the community can stay informed about ongoing developments and offer any necessary assistance. +#### Reviews & Approvals -It is possible that your assignment has been removed after 14 days of no updates. Please note that this is not a punishment or dissatisfaction from the community. We understand that life can be challenging, and things may not always go as planned. +All pull requests should be reviewed by at least one OpenDAL committers. -By removing the assignment, we create space for other community members to take over. Additionally, we do not frequently check the assignment due date, so please communicate any stale issues through the issue tracker. +#### Merge Style -## Sending PRs +All pull requests are squashed and merged. We generally discourage large pull requests that are over 300-500 lines of diff. If you would like to propose a change that is larger we suggest coming onto our [Discussions](https://github.com/apache/incubator-opendal/discussions) and discuss it with us. This way we can talk through the solution and discuss if a change that large is even needed! This will produce a quicker response to the change and likely produce code that aligns better with our process. Review Comment: The first sentence is no need. Contributor don't need to know. They may think they need to squash themselves. ########## CONTRIBUTING.md: ########## @@ -1,34 +1,70 @@ # Contributing -Hello, welcome to the OpenDAL Community! Thanks for your interest in the Apache OpenDAL project! This document will guide you on how to participate in our community and enjoy your time here. +First, thank you for contributing to OpenDAL! The goal of this document is to provide everything you need to start contributing to OpenDAL. The following TOC is sorted progressively, starting with the basics and expanding into more specifics. -## Code of Conduct +- [Your First Contribution](#your-first-contribution) +- [Workflow](#workflow) + - [Git Branches](#git-branches) + - [GitHub Pull Requests](#github-pull-requests) + - [Title](#title) + - [Reviews & Approvals](#reviews--approvals) + - [Merge Style](#merge-style) + - [CI](#ci) +- [Next steps](#next-steps) +- [Code of Conduct](#code-of-conduct) -We expect all community members to follow our [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html). +## Your First Contribution + +1. Ensure your change has an issue! Find an [existing issue](https://github.com/apache/incubator-opendal/issues) or [open a new issue](https://github.com/apache/incubator-opendal/issues/new). +1. [Fork the OpenDAL repository](https://github.com/apache/incubator-opendal/fork) in your own GitHub account. +1. [Create a new Git branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository). +1. Make your changes. +1. [Submit the branch as a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) to the main OpenDAL repo. An OpenDAL team member should comment and/or review your pull request within a few days. Although, depending on the circumstances, it may take longer. + +## Workflow + +### Git Branches + +*All* changes must be made in a branch and submitted as [pull requests](#github-pull-requests). OpenDAL does not adopt any type of branch naming style, but please use something descriptive of your changes. -## Communication +### GitHub Pull Requests -We use [GitHub Discussions](https://github.com/apache/incubator-opendal/discussions) for general discussions and questions. Please use the `Q&A` category for questions and the `General` category for general discussions. +Once your changes are ready you must submit your branch as a [pull request](https://github.com/apache/incubator-opendal/pulls). -We also use [GitHub Issues](https://github.com/apache/incubator-opendal/issues) for bug reports and feature requests. +#### Title -Otherwise, you can join our [Discord Channel](https://discord.gg/XQy8yGR2dg) for real-time discussions. +The pull request title must follow the format outlined in the [conventional commits spec](https://www.conventionalcommits.org). [Conventional commits](https://www.conventionalcommits.org) is a standardized format for commit messages. OpenDAL only requires this format for commits on the `main` branch. And because OpenDAL squashes commits before merging branches, this means that only the pull request title must conform to this format. -## Taking Issues +The following are all good examples of pull request titles: -It is highly recommended to request an assignment before beginning work on any issues to avoid conflicts with other community members. +```text +feat(services/gcs): Add start-after support for list +docs: add hdfs classpath related troubleshoot +ci: Mark job as skipped if owner is not apache +fix(services/s3): Ignore prefix if it's empty +refactor: Polish the implementation of webhdfs +``` -It is encouraged to post your work progress in the issues comment so that the community can stay informed about ongoing developments and offer any necessary assistance. +#### Reviews & Approvals -It is possible that your assignment has been removed after 14 days of no updates. Please note that this is not a punishment or dissatisfaction from the community. We understand that life can be challenging, and things may not always go as planned. +All pull requests should be reviewed by at least one OpenDAL committers. Review Comment: ```suggestion All pull requests should be reviewed by at least one maintainer. ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
