This document contains information and guidelines about contributing to this project. Please read it before you start participating.
Topics
- Asking Questions
- Reporting Security Issues
- Reporting Issues
- Triage Issues
- Submitting Pull Requests
- Developers Certificate of Origin
- Code of Conduct
We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.
If you'd like to discuss Alamofire best practices, common usage patterns, ideas for new features, or ongoing development, please use our Swift Forums.
The Alamofire Software Foundation takes security seriously. If you discover a security issue, please bring it to our attention right away!
Please DO NOT file a public issue, instead send your report privately to [email protected]. This will help ensure that any vulnerabilities that are found can be disclosed responsibly to any affected parties.
A great way to contribute to the project is to send a detailed issue when you encounter a problem. We always appreciate a well-written, thorough bug report.
Check that the project issues database doesn't already include that problem or suggestion before submitting an issue. If you find a match, feel free to vote for the issue by adding a reaction. Doing this helps prioritize the most common problems and requests.
When reporting issues, please fill out our issue template. The information the template asks for will help us review and fix your issue faster.
You can triage issues which may include reproducing bug reports or asking for vital information, such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to subscribe to alamofire on CodeTriage.
You can contribute by fixing bugs or adding new features. For larger code changes, we recommend first discussing your ideas on our GitHub Discussions or Swift Forums. When submitting a pull request, please add relevant tests and ensure your changes don't break any existing tests (see Automated Tests below).
Alamofire's tests depend on our Firewalk test server. To run the automated tests, you first need to have the server running locally.
In your terminal, run the following commands:
- To install Firewalk:
brew install alamofire/alamofire/firewalk
- To run and detach the server:
firewalk &
- To stop the server, run
kill
and provide the pid output after launch.
By making a contribution to this project, I certify that:
-
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
-
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
-
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
-
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
The Code of Conduct governs how we behave in public or in private whenever the project will be judged by our actions. We expect it to be honored by everyone who contributes to this project.
See CONDUCT.md for details.
Some of the ideas and wording for the statements above were based on work by the Docker and Linux communities. We commend them for their efforts to facilitate collaboration in their projects.