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

Consolidate CONTRIBUTING.md and DEVELOPING.md #214

Merged
merged 1 commit into from
Aug 12, 2017
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
20 changes: 0 additions & 20 deletions CONTRIBUTING.md

This file was deleted.

101 changes: 67 additions & 34 deletions DEVELOPING.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,93 @@
Developing
==========
# Developing

Setup
-----
## Contributing

To build from a fresh checkout:
We love pull requests from everyone.
By participating in this project,
you agree to abide by its [Code of Conduct][conduct].

./autogen.sh
./configure
make
1. Fork and clone the repo.

Editing
-------
2. Build and make sure all tests pass:

Use these Vim settings for the correct indention and formatting:
```sh
$ ./autogen.sh
$ ./configure
$ make check
```

```
setlocal sw=0 ts=8 noet
setlocal cinoptions=:0,t0,+4,(4
```
3. Make your changes.

Release
-------
Respect the existing formatting and indentation,
when in doubt consult [style(9)][style].

4. If your changes can be captured by a [test],
make sure to add one.
Changes that only concern the interface can be harder to test but feel free
to ask for help.

Again,
make sure all tests still pass.

5. If your changes for instance adds an option or key binding,
make sure to update the [manual].

6. Submit a pull request on GitHub.
This will in addition to sharing your work run it through our continuous
integration which performs both static and runtime analysis in order to catch
bugs early on.

7. At this point you're waiting on us.

## Release

1. Update the version in `configure.ac`:

AC_INIT([pick], [0.0.2], [[email protected]])
```
AC_INIT([pick], [0.0.2], [[email protected]])
```

2. Verify the tarball:

make distcheck
tar -ztf pick-0.0.2.tar.gz | less
```sh
$ make distcheck
$ tar -ztf pick-0.0.2.tar.gz | less
```

3. Tag the repo:

git checkout master
git pull --rebase
git push origin master
git status
git tag --sign -m "v0.0.2" v0.0.2
git push origin master --tags
```sh
$ git checkout master
$ git pull --rebase
$ git push origin master
$ git status
$ git tag --sign -m "v0.0.2" v0.0.2
$ git push origin master --tags
```

4. Sign the tarball:

gpg -sab pick-0.0.2.tar.gz
```sh
$ gpg -sab pick-0.0.2.tar.gz
```

5. Verify the signature:

gpg --verify pick-0.0.2.tar.gz.asc pick-0.0.2.tar.gz
```sh
$ gpg --verify pick-0.0.2.tar.gz.asc pick-0.0.2.tar.gz
```

6. [Announce the release on
GitHub](https://github.com/calleerlandsson/pick/releases/new).
6. [Announce the release on GitHub][announce].

7. Contact package maintainers:

* Aggelos Avgerinos <[email protected]> (Debian & Ubuntu)
* Chunyang Xu <[email protected]> (MacPorts)
* Fredrik Fornwall <[email protected]> (Homebrew)
* Neel Chauhan <[email protected]> (FreeBSD)
* Aggelos Avgerinos <[email protected]> (Debian & Ubuntu)
* Chunyang Xu <[email protected]> (MacPorts)
* Fredrik Fornwall <[email protected]> (Homebrew)
* Neel Chauhan <[email protected]> (FreeBSD)

[announce]: https://github.com/calleerlandsson/pick/releases/new
[conduct]: https://github.com/calleerlandsson/pick/blob/master/CODE_OF_CONDUCT.md
[manual]: https://github.com/calleerlandsson/pick/tree/master/pick.1
[style]: https://man.openbsd.org/style
[test]: https://github.com/calleerlandsson/pick/tree/master/tests#test-suite