Clone the repository and move into it:
git clone [email protected]:dnsimple/dns_erlang.git
cd dns_erlang
make
When dependencies are updated the rebar.lock file will need to be updated for the new dependency to be used. The following command does this:
./rebar3 upgrade --all
If your editor doesn't automatically format Erlang code using erlfmt, run:
make format
You should run this command before releasing.
Compile the project and run the test suite to check everything works as expected.
make test
The following instructions uses $VERSION
as a placeholder, where $VERSION
is a MAJOR.MINOR.BUGFIX
release such as 1.2.0
.
-
Run the test suite and ensure all the tests pass.
-
Set the version in
src/dns_erlang.app.src
-
Run the test suite and ensure all the tests pass.
-
Finalize the
## main
section inCHANGELOG.md
assigning the version. -
Commit and push the changes
git commit -a -m "Release $VERSION" git push origin main
-
Wait for CI to complete.
-
Create a signed tag.
git tag -a v$VERSION -s -m "Release $VERSION" git push origin --tags
-
GitHub actions will take it from there and release to https://hex.pm/packages/dns_erlang
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.