Thanks for getting involved and contributing to the vtshaver 🎉 Below are a few things to setup when submitting a PR.
If adding new code, be sure to include relevant code comments. Code comments are a great way for others to learn from your code. This is especially true within the skeleton, since it is made for learning.
Be sure to update any documentation relevant to your change. This includes updating the CHANGELOG.md.
We use this script to install a consistent version of clang-format
to format the code base. The format is automatically checked via a Travis CI build as well. Run the following script locally to ensure formatting is ready to merge:
make format
We also use clang-tidy
as a C++ linter. Run the following command to lint and ensure your code is ready to merge:
make tidy
These commands are set from within the Makefile.
If you want release a new version of vtshaver:
- All features are landed and tickets are closed for the milestone.
- All tests are passing on travis
- Test coverage is good: same or increased
- If anything has been added to
.npmignore
, then we runmake testpacked
to ensure tests pass - For any major new feature we've made a dev package and tested downstream in staging
- A developer has bumped the version in the
package.json
inmaster
- A developer has committed with
[publish binary]
in the commit message (this is necessary for a pre-release as well) - We've confirmed that the travis job with
[publish binary]
was fully 🍏 - We've tagged a new git tag
git tag vX.X.X -a -m "vX.X.X"
and uploaded to githubgit push --tags
- Update the
changelog.md
- Run npm pack and ensure that show only the intended files will be packaged and nothing unintended or accidental
- Publish to npm repository:
mbx npm publish