Skip to content

Commit 35924da

Browse files
authored
make some improvements to contribution guide (#2634)
* creating a release requires just 1 command * improve release documentation * update toc * fix anchor link * fix grammar * we should not need nightly r-a anymore * typo * has since moved to github actions * mention active maintainer * Revert "we should not need nightly r-a anymore" This reverts commit a812e77. I missed that this is r-a setting requiring a nightly rustfmt, not r-a itself needing to be nightly.
1 parent 1a09f45 commit 35924da

File tree

1 file changed

+25
-28
lines changed

1 file changed

+25
-28
lines changed

CONTRIBUTING.md

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ and introduce yourself.
3535
- [Writing a Predicate Script](#writing-a-predicate-script)
3636
- [Cutting a new bindgen release](#cutting-a-new-bindgen-release)
3737
- [Updating the changelog](#updating-the-changelog)
38-
- [Bumping the version numbers.](#bumping-the-version-numbers)
3938
- [Merge to `main`](#merge-to-main)
40-
- [Publish and add a git tag for the right commit](#publish-and-add-a-git-tag-for-the-right-commit)
39+
- [Tag and publish](#tag-and-publish)
40+
- [Create a new release on GitHub](create-a-new-relese-on-github)
4141

4242
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
4343

@@ -56,7 +56,7 @@ issue, provide us with:
5656
* The `bindgen` flags used to reproduce the issue with the header file
5757
* The expected `bindgen` output
5858
* The actual `bindgen` output
59-
* The [debugging logs](#logs) generated when running `bindgen` on this testcase
59+
* The [debugging logs](#debug-logging) generated when running `bindgen` on this testcase
6060

6161
## Looking to Start Contributing to `bindgen`?
6262

@@ -69,7 +69,8 @@ issue, provide us with:
6969

7070
### `rustfmt` / `cargo fmt`
7171

72-
We use `nightly` channel for `rustfmt` so please set the appropriate setting your editor/IDE for that.
72+
We use `nightly` channel for `rustfmt`,
73+
so please set the appropriate setting in your editor/IDE for that.
7374

7475
For rust-analyzer, you can set `rustfmt.extraArgs = ['+nightly']`.
7576

@@ -212,8 +213,8 @@ add each of:
212213

213214
If you need to update the test expectations for a test file that generates
214215
different bindings for different `libclang` versions, you *don't* need to have
215-
many version of `libclang` installed locally. Just make a work-in-progress pull
216-
request, and then when Travis CI fails, it will log a diff of the
216+
many versions of `libclang` installed locally. Just make a work-in-progress pull
217+
request, and then when CI fails, it will log a diff of the
217218
expectations. Use the diff to patch the appropriate expectation file locally and
218219
then update your pull request.
219220

@@ -355,7 +356,7 @@ changes should be squashed into the original commit.
355356
Unsure who to ask for review? Ask any of:
356357

357358
* `@emilio`
358-
* `@fitzgen`
359+
* `@pvdrz`
359360

360361
More resources:
361362

@@ -552,42 +553,38 @@ $ npm install doctoc
552553
$ ./node_modules/doctoc/doctoc.js CHANGELOG.md
553554
```
554555

555-
### Bumping the version numbers
556-
557-
Use `cargo release` (from `cargo install cargo-release`) to automate things:
558-
559-
- For a feature release, `cargo release minor --execute` (will bump v0.62.1 to v0.63.0)
560-
- For a patch release, `cargo release patch --execute` (will bump v0.63.0 to v0.63.1)
561-
562-
Run tests just to ensure everything is working as expected.
563-
564556
### Merge to `main`
565557

566558
For regular releases, the changes above should end up in `main` before
567559
publishing. For dot-releases of an old version (e.g., cherry-picking an
568560
important fix) you can skip this.
569561

570-
### Publish and add a git tag for the right commit
562+
### Tag and publish
571563

572-
Once you're in the right commit, do:
564+
Once you're in the right branch, do:
573565

574566
```
575567
cargo release [patch|minor] --execute
576-
cargo release --execute
577568
```
578-
This does the equivalent of the following:
569+
This does the following:
579570

580-
```
581-
$ git tag -a v0.62.1 # With the right version of course
582-
$ pushd bindgen && cargo publish && popd
583-
$ pushd bindgen-cli && cargo publish && popd
584-
$ git push --tags upstream # To publish the tag
585-
```
571+
- Tag (`git tag`) the HEAD commit
572+
- Publish (`cargo publish`) bindgen and bindgen-cli
573+
- Push (`git push`) to GitHub
574+
575+
The `patch` and `minor` refer to semver concepts:
576+
577+
- `patch` would bump __v0.68.1__ to __v0.68.2__
578+
- `feature` would bump __v0.68.2__ to __v0.69.0__
586579

587580
### Create a new release on Github
588581

589-
The release will be automated with the help of `.github/workflows/release.yml`,
590-
and will only be created when all tests succeed.
582+
The release is automated with the help of `.github/workflows/release.yml`,
583+
and will only be created...
584+
585+
- when a Git tag is pushed
586+
- when all tests succeed
587+
591588
While the tests are still running,
592589
a draft GitHub release will be created,
593590
to avoid notifying watchers of the repo should a CI step fail.

0 commit comments

Comments
 (0)