Skip to content

Latest commit

 

History

History
67 lines (48 loc) · 2.47 KB

CONTRIBUTING.md

File metadata and controls

67 lines (48 loc) · 2.47 KB

Contributing to elixir-sparkpost

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.

Submitting Issues

  • 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

Local Development

  1. Fork this repo
  2. Clone your fork
  3. Write some code!
  4. Retrieve dependencies: mix deps.get
  5. To run the test suite: mix test
  6. To check test code coverage: mix coveralls
  7. To check coding standards: mix credo
  8. To generate reference docs: mix docs
  9. Please follow the pull request submission steps in the next section

Contribution Steps

  • 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:

  1. 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))
  2. 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
  3. Ensure automated tests (mix test) pass
  4. Submit a new Pull Request applying your feature/fix branch to the master branch

Releasing

Check out these general docs on publishing packages to Hex.

To publish a new release:

  1. 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
  1. When you're ready, publish to Hex: mix hex.publish