|
| 1 | +# Contributing to Heroku Cloud Native Buildpacks |
| 2 | + |
| 3 | +This page lists the operational governance model of this project, as well as |
| 4 | +the recommendations and requirements for how to best contribute to Heroku |
| 5 | +Cloud Native Buildpacks. We strive to obey these as best as possible. As |
| 6 | +always, thanks for contributing. |
| 7 | + |
| 8 | +## Governance Model: Salesforce Sponsored |
| 9 | + |
| 10 | +The intent and goal of open sourcing this project is to increase the contributor |
| 11 | +and user base. However, only Salesforce employees will be given `admin` rights |
| 12 | +and will be the final arbitrars of what contributions are accepted or not. |
| 13 | + |
| 14 | +## Getting started |
| 15 | + |
| 16 | +Please feel free to join the |
| 17 | +[Heroku Cloud Native Buildpacks discussions][discussions]. |
| 18 | +You may also wish to take a look at |
| 19 | +[Heroku's product roadmap][roadmap] to see where are headed. |
| 20 | + |
| 21 | +## Ideas and Feedback |
| 22 | + |
| 23 | +Please use |
| 24 | +[Heroku Cloud Native Buildpacks discussions][discussions] |
| 25 | +to provide feedback, request enhancements, or discuss ideas. |
| 26 | + |
| 27 | +## Issues, Feature Requests, and Bug Reports |
| 28 | + |
| 29 | +Issues, feature requests, and bug reports are tracked via [GitHub issues on |
| 30 | +this repository][issues]. If you find |
| 31 | +an issue and/or bug, please search the issues, and if it isn't already tracked, |
| 32 | +create a new issue. |
| 33 | + |
| 34 | +## Fixes, Improvements, and Patches |
| 35 | + |
| 36 | +Fixes, improvements, and patches all happen via [GitHub Pull Requests on this |
| 37 | +repository][pulls]. If you'd like to |
| 38 | +improve the tests, you want to make the documentation clearer, you have an |
| 39 | +alternative implementation of something that may have advantages over the way |
| 40 | +its currently done, or you have any other change, we would be happy to hear |
| 41 | +about it. For trivial changes, send a pull request. For non-trivial changes, |
| 42 | +consider [opening an issue](#issues-feature-requests-and-bug-reports) to |
| 43 | +discuss it first instead. |
| 44 | + |
| 45 | +## Development |
| 46 | + |
| 47 | +### Dependencies |
| 48 | + |
| 49 | +This buildpack relies on [heroku/libcnb.rs][libcnb] to compile buildpacks. All |
| 50 | +[libcnb.rs dependencies][libcnb-deps] will need to be setup prior to building |
| 51 | +or testing this buildpack. |
| 52 | + |
| 53 | +### Building |
| 54 | + |
| 55 | +1. Run `cargo check` to download dependencies and ensure there are no |
| 56 | + compilation issues. |
| 57 | +1. Build the buildpack with `cargo libcnb package`. |
| 58 | +1. Use the buildpack to build an app: `pack build sample-app --buildpack packaged/x86_64-unknown-linux-musl/debug/heroku_ruby --path /path/to/sample-app` |
| 59 | + |
| 60 | +### Testing |
| 61 | + |
| 62 | +- `cargo test` performs Rust unit tests. |
| 63 | +- `cargo test -- --ignored` performs all integration tests. |
| 64 | + |
| 65 | +## Code of Conduct |
| 66 | +Please follow our [Code of Conduct](CODE_OF_CONDUCT.md). |
| 67 | + |
| 68 | +## License |
| 69 | +By contributing your code, you agree to license your contribution under the |
| 70 | +terms of our project [LICENSE](LICENSE) and to sign the |
| 71 | +[Salesforce CLA](https://cla.salesforce.com/sign-cla). |
| 72 | + |
| 73 | + |
| 74 | +[discussions]: https://github.com/heroku/buildpacks/discussions |
| 75 | +[issues]: https://github.com/heroku/buildpacks-ruby/issues |
| 76 | +[libcnb]: https://github.com/heroku/libcnb.rs |
| 77 | +[libcnb-deps]: https://github.com/heroku/libcnb.rs#development-environment-setup |
| 78 | +[pulls]: https://github.com/heroku/buildpacks-ruby/pulls |
| 79 | +[roadmap]: https://github.com/heroku/roadmap |
0 commit comments