dumb-init
is primarily developed by Yelp, but
contributions are welcome from everyone!
Code is reviewed using GitHub pull requests. To make a contribution, you should:
- Fork the GitHub repository
- Push code to a branch on your fork
- Create a pull request and wait for it to be reviewed
We aim to have all dumb-init behavior covered by tests. If you make a change in behavior, please add a test to ensure it doesn't regress. We're also happy to help with suggestions on testing!
dumb-init
uses semantic versioning. If you're making a
contribution, please don't bump the version number yourself—we'll take care
of that after merging!
The process to release a new version is:
- Update the version in
VERSION
and runmake VERSION.h
- Update the Debian changelog with
dch -v {new version}
. - Update the two
wget
urls in the README to point to the new version. - Commit the changes and tag the commit like
v1.0.0
. git push --tags origin master
- Wait for Travis to run, then find and download the binary and Debian
packages for both amd64 and ppc64el; there will be links printed at the end
of the Travis output. Put these into your
dist
directory. - Wait for the s390x build to run on OSU OSL's ibmz-ci
Jenkins server. This should
happen automatically within 5 minutes of pushing and produce two artifacts
(a binary and a Debian package). Download these into your
dist
directory, similar to the artifacts from Travis. - Run
make release
- Run
twine upload --skip-existing dist/*.tar.gz dist/*.whl
to upload the new version to PyPI - Upload the resulting Debian packages, binaries, and sha256sums file (all
inside the
dist
directory) to a new GitHub release