Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 37 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ First, thank you for contributing to OpenDAL! The goal of this document is to pr
- [Reviews & Approvals](#reviews--approvals)
- [Merge Style](#merge-style)
- [CI](#ci)
- [Next steps](#next-steps)
- [Setup](#setup)
- [Using a devcontainer environment](#using-a-devcontainer-environment)
- [Bring your own toolbox](#bring-your-own-toolbox)
- [Code of Conduct](#code-of-conduct)

## Your First Contribution
Expand Down Expand Up @@ -59,7 +61,40 @@ Currently, OpenDAL uses GitHub Actions to run tests. The workflows are defined i

## Next steps

Visiting **[DEVELOPING.md](DEVELOPING.md)** to prepare everything necessary to develop.
## Setup

For small or first-time contributions, we recommend the dev container method. Prefer to do it yourself? That's fine too!

### Using a devcontainer environment

OpenDAL provides a pre-configured [dev container](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:

[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/apache/incubator-opendal?quickstart=1&machine=standardLinux32gb)

### Bring your own toolbox

OpenDAL is primarily a Rust project. To build OpenDAL, you will need to set up Rust development first. We highly recommend using [rustup](https://rustup.rs/) for the setup process.

For Linux or MacOS, use the following command:

```shell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

For Windows, download `rustup-init.exe` from [here](https://win.rustup.rs/x86_64) instead.

Rustup will read OpenDAL's `rust-toolchain.toml` and set up everything else automatically. To ensure that everything works correctly, run `cargo version` under OpenDAL's root directory:

```shell
$ cargo version
cargo 1.69.0 (6e9a83356 2023-04-12)
```

Some components may require specific setup steps. Please refer to their respective `CONTRIBUTING` documentation for more details.

- [core](core/CONTRIBUTING.md)

## Code of Conduct

Expand Down
19 changes: 0 additions & 19 deletions DEVELOPING.md

This file was deleted.

4 changes: 0 additions & 4 deletions core/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

## Get Started

This is a Rust project, so [rustup](https://rustup.rs/) is the best place to start.

This is a pure rust project, so only `cargo` is needed.

- `cargo check` to analyze the current package and report errors.
- `cargo build` to compile the current package.
- `cargo clippy` to catch common mistakes and improve code.
Expand Down