Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Document dev branches #6067

Closed
wants to merge 2 commits into from
Closed
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
29 changes: 25 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,14 +128,35 @@ cargo +stable fmt --all -- --check

## Breaking Changes

Our [release schedule] allows breaking API changes only in major releases.
This means that if your PR has a breaking API change, it should be marked as
`api-change` and it will not be merged until development opens for the next
major release. See [this ticket] for details.
Our [release schedule] allows breaking API changes only in major releases. This
means that if your PR has a breaking API change, it should be marked with the
labels: `api-change` and `next-major-release` and it will not be merged to
`master` until development opens for the next major release. See [this ticket] for
details.
Comment on lines +131 to +135
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think contributors can set labels. You'll need to configure a bot to set the label based on the target branch.


[release schedule]: README.md#release-versioning-and-schedule
[this ticket]: https://github.com/apache/arrow-rs/issues/5907

## Branching

As described above, we use the `main` branch as the default branch for
development, and prefer to merge all PRs to that branch. However, as described
above, we only merge PRs with API changes on a set schedule. Between releases,
we may either hold PRs as draft or merge them to a `dev` branch.

For example, for the `53.0.0` release, we merged several breaking API changes to
the `53.0.0-dev` dev branch. We then merged these commits into `master` once we had successfully released `52.2.0`.

The command used:

```shell
## TODO update this command
git checkout master
git pull
git merge apache/53.0.0-dev
git push -u apache
```

## Clippy Lints

We use `clippy` for checking lints during development, and CI runs `clippy` checks.
Expand Down
Loading