We work hard to provide a high-quality and useful SDK. We work hard to provide a high-quality and useful SDK for our AWS services, and we greatly value feedback and contributions from our community. Whether it's a new feature, correction, or additional documentation, we welcome your pull requests. Please submit your issues or pull requests through GitHub.
Jump To:
Before you send us a pull request, please be sure that:
- You're working from the latest source on the master branch.
- You check existing open, and recently closed, pull requests to be sure that someone else hasn't already addressed the problem.
- You create an issue before working on a contribution that will take a significant amount of your time.
Creating a Pull Request
- Fork the repository.
- In your fork, make your change in a branch that's based on this repo's master branch.
- Commit the change to your fork, using a clear and descriptive commit message.
- Create a pull request, answering any questions in the pull request form.
For contributions that will take a significant amount of time, open a new issue to pitch your idea before you get started. Explain the problem and describe the content you want to see added to the documentation. Let us know if you'll write it yourself or if you'd like us to help. We'll discuss your proposal with you and let you know whether we're likely to accept it.
Bug reports are accepted through the Issues page.
Before Submitting:
- Do a search through the existing issues to make sure it has not already been reported. If it has, comment your experience or +1 so we prioritize it.
- If possible, upgrade to the latest release of the SDK. It's possible the bug has already been fixed in the latest version.
Writing the Bug Report:
Please ensure that your bug report has the following:
- A short, descriptive title. Ideally, other community members should be able to get a good idea of the issue just from reading the title.
- A detailed description of the problem you're experiencing. This should include:
- Expected behavior of the SDK and the actual behavior exhibited.
- Any details of your application environment that may be relevant.
- Debug information, stack trace or logs.
- If you are able to create one, include a Minimal Working Example that reproduces the issue.
- Use Markdown to make the report easier to read; i.e. use code blocks when pasting a code snippet.
Open an issue with the following:
- A short, descriptive title. Ideally, other community members should be able to get a good idea of the feature just from reading the title.
- A detailed description of the the proposed feature.
- Why it should be added to the SDK.
- If possible, example code to illustrate how it should work.
- Use Markdown to make the request easier to read;
- If you intend to implement this feature, indicate that you'd like to the issue to be assigned to you.
Code contributions to the SDK are done through [Pull Requests][pull-requests]. The list below are guidelines to use when submitting pull requests. These are the same set of guidelines that the core contributors use when submitting changes, and we ask the same of all community contributions as well:
- The AWS SDK for PHP and the AWS SDK ZF2 Module are released under the Apache license. Any code you submit will be released under that license. For substantial contributions, we may ask you to sign a Contributor License Agreement (CLA).
- We follow the PSR-0, PSR-1, and PSR-2 recommendations from the PHP Framework Interop Group. Please submit code that follows these standards. The PHP CS Fixer tool can be helpful for formatting your code.
- We maintain a high percentage of code coverage in our unit tests. If you make changes to the code, please add or update unit tests as appropriate.
- If your pull request fails to conform to the PSR standards, include adequate tests, or pass the TravisCI build, we may ask you to update your pull request before we accept it. We also reserve the right to deny any pull requests that do not align with our standards or goals.
- If you would like to implement support for a significant feature, please talk to us beforehand to avoid any unnecessary or duplicate effort.
The AWS SDK ZF2 Module uses unit tests built for PHPUnit. You can run the unit tests of the SDK after copying
phpunit.xml.dist
to phpunit.xml
:
cp phpunit.xml.dist phpunit.xml
Next, you need to install the dependencies of the module (including the AWS SDK for PHP) using Composer:
composer.phar install
Now you're ready to run the unit tests using PHPUnit:
vendor/bin/phpunit