diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..fdf17ad --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,33 @@ + + +#### What does this change do? + + +#### Why is it needed? What is the use case? + + +#### How did you test it? + + + + +#### Checklist + +- [ ] I have read [CONTRIBUTING.md](../CONTRIBUTING.md) and understand this pull request will be used + as a reference rather than merged directly +- [ ] I opened an issue first if this is a significant change +- [ ] This change is limited to the behaviour described above, with no unrelated reformatting +- [ ] Local tests pass through `make integ-tests-and-compile` + +By submitting this pull request, I confirm that my contribution is made under the terms of the +[Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5d48ddb..29106ac 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,10 +6,17 @@ documentation, we greatly value feedback and contributions from our community. Please read through this document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your bug report or contribution. +**Please note:** this repository is generated from an internal AWS source of truth, which means we are unable to merge +pull requests into it directly. We very much still want your input -- see +[How we handle contributions](#how-we-handle-contributions) for what happens to an issue or pull request you open, and +how you get credit for a change we adopt. + ## Reporting Bugs/Feature Requests -We welcome you to use the GitHub issue tracker to report bugs or suggest features. +We welcome you to use the GitHub issue tracker to report bugs or suggest features. Issues are the most effective way to +reach us: a feature request that describes your use case can be picked up and implemented, whereas a pull request cannot +be merged as-is. When filing an issue, please check existing open, or recently closed, issues to make sure somebody else hasn't already reported the issue. Please try to include as much information as you can. Details like these are incredibly useful: @@ -20,25 +27,34 @@ reported the issue. Please try to include as much information as you can. Detail * Anything unusual about your environment or deployment -## Contributing via Pull Requests -This repository contains the source code and examples for the Runtime Interface Emulator. We will accept pull requests on documentation, examples, bug fixes and the Dockerfiles. We will also accept pull requests, issues and feedback on improvements to the Runtime Interface Emulator. However, our priority will be to maintain fidelity with AWS Lambda’s Runtime Interface on the cloud. +## How we handle contributions + +This repository contains the source code and examples for the Runtime Interface Emulator. The code here is generated from +an internal AWS repository, which is the source of truth, and changes flow outward from there. Because of that we cannot +merge a pull request into this repository, even one we agree with. -Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that: +That does not mean we don't want it. Here is what each kind of contribution gets you: -1. You are working against the latest source on the *main* branch. -2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already. -3. You open an issue to discuss any significant work - we would hate for your time to be wasted. +* **Feature requests and bug reports are welcome, and are the most useful thing you can send us.** Open an issue + describing the behaviour you want and the use case behind it. Our priority is maintaining fidelity with AWS Lambda's + Runtime Interface in the cloud, so a clear use case is what lets us weigh a change against that. +* **Pull requests are welcome as a reference.** We read them, and a working patch is often the clearest way to explain a + proposal. It will not be merged directly. If we adopt your solution, we make the corresponding change in the internal + repository, and it reaches this repository through the next sync. +* **If we adopt your change, we credit you in the release notes** for the version that ships it. -To send us a pull request, please: +So that we can act on a pull request, please: -1. Fork the repository. -2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change. -3. Ensure local tests pass through `make integ-tests-and-compile` -4. Commit to your fork using clear commit messages. -5. Send us a pull request, answering any default questions in the pull request interface. +1. Open an issue first to discuss any significant work -- we would hate for your time to be wasted on something we + cannot take. +2. Work against the latest source on the *main* branch. +3. Check existing open, and recently closed, pull requests and issues to make sure someone else hasn't raised it already. +4. Focus on the specific change you are proposing. If you also reformat all the code, it will be hard for us to see what + you are actually suggesting. +5. Ensure local tests pass through `make integ-tests-and-compile`. 6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. -GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and +GitHub provides additional documentation on [forking a repository](https://help.github.com/articles/fork-a-repo/) and [creating a pull request](https://help.github.com/articles/creating-a-pull-request/). @@ -58,4 +74,5 @@ If you discover a potential security issue in this project we ask that you notif ## Licensing -See the [LICENSE](LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution. +See the [LICENSE](LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your +contribution, including for a pull request we adopt rather than merge. diff --git a/README.md b/README.md index a9345cd..f39e227 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ Lambda’s orchestrator, or security and authentication configurations. You can * [To test an image without adding RIE to the image](#to-test-an-image-without-adding-rie-to-the-image) * [How to configure](#how-to-configure) * [Level of support](#level-of-support) +* [Contributing](#contributing) * [Security](#security) * [License](#license) @@ -187,6 +188,18 @@ configurations that will not be emulated by this component. * The component does _not_ support X-ray and other Lambda integrations locally. * The component supports only Linux, for x86-64 and arm64 architectures. +## Contributing + +We welcome feature requests and bug reports through the GitHub issue tracker, and they are the most effective way to +reach us. + +This repository is generated from an internal AWS source of truth, so we are unable to merge pull requests into it +directly. You are still welcome to open one: we read them, and a working patch is often the clearest way to explain a +proposal. It is treated as a reference rather than something we merge, and if we adopt your solution we make the change +in the internal repository and credit you in the release notes for the version that ships it. + +See [CONTRIBUTING](CONTRIBUTING.md) for details. + ## Security See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.