Transparency is one of our core values, and we encourage developers to contribute and become part of the SparkPost developer community.
The following is a set of guidelines for contributing to elixir-sparkpost, which is hosted in the SparkPost Organization on GitHub. These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.
-
Before logging an issue, please search existing issues first.
-
You can create an issues here. Please include the library version number and as much detail as possible in your report.
You can grab the library version number like this: mix deps | grep sparkpost
- Fork this repo
- Clone your fork
- Write some code!
- Retrieve dependencies:
mix deps.get
- To run the test suite:
mix test
- To check test code coverage:
mix coveralls
- To check coding standards:
mix credo
- To generate reference docs:
mix docs
- Please follow the pull request submission steps in the next section
- We follow this community Elixir Style Guide.
- We strive for 100% test coverage.
- We include @moduledoc and @doc content (almost) everywhere.
To contribute to elixir-sparkpost:
- Create a new branch named after the issue you’ll be fixing (include the issue number as the branch name, example: Issue in GH is #8 then the branch name should be ISSUE-8))
- Write corresponding tests and code (only what is needed to satisfy the issue and tests please)
- Include your tests in the 'test' directory in an appropriate test file
- Write code to satisfy the tests
- Ensure automated tests (
mix test
) pass - Submit a new Pull Request applying your feature/fix branch to the
master
branch
Check out these general docs on publishing packages to Hex.
To publish a new release:
- Update
package
metadata in mix.exs:
- bump the version number
- add new files you want to distribute
defp package do
[
version: "0.1.0", # <-- bump this
files: [
"lib", "mix.exs", "README.md", "CONTRIBUTING.md" # <-- add new files for distro here
],
]
end
- When you're ready, publish to Hex:
mix hex.publish