View Source Contributing to DNSimple/Elixir

Getting started

1. Clone the repository

Clone the repository and move into it:

git clone git@github.com:dnsimple/dnsimple-elixir.git
cd dnsimple-elixir

2. Install Elixir

3. Install the dependencies

mix deps.get

4. Build and test

Compile the project and run the test suite to check everything works as expected.

Testing

mix test

Releasing

The following instructions uses $VERSION as a placeholder, where $VERSION is a MAJOR.MINOR.BUGFIX release such as 1.2.0.

  1. Run the test suite and ensure all the tests pass.

  2. Set the version in mix.exs:

     defmodule Dnsimple.Mixfile do
       use Mix.Project
    
       @version "$VERSION"
     end
  3. Run the test suite and ensure all the tests pass.

  4. Finalize the ## main section in CHANGELOG.md assigning the version.

  5. Commit and push the changes

     git commit -a -m "Release $VERSION"
     git push origin main
    
  6. Wait for CI to complete.

  7. Create a signed tag.

     git tag -a v$VERSION -s -m "Release $VERSION"
     git push origin --tags
    
  8. GitHub actions will take it from there and release to Hex

Tests

Submit unit tests for your changes. You can test your changes on your machine by running the test suite.

When you submit a PR, tests will also be run on the continuous integration environment via GitHub Actions.