Skip to content

unill-io/semantic-release-hex

Repository files navigation

semantic-release-hex

semantic-release plugin to publish a hex package

Latest Version Next Version Build CodeQL Coverage OpenSSF Scorecard Discord

Warning Publishing to hex has not yet been implemented, so this package only bumps the version in mix.exs for now.

Step Description
verifyConditions Verify the presence of the mix.exs file and that the version is parsable.
prepare Update the version in mix.exs.
publish to be implemented (PRs welcome)

Installation

npm install semantic-release-hex -D

For a more detailed setup guide, see Setting up an existing Elixir project.

Usage

Add the plugin to the semantic-release configuration file (see example below).

Warning Make sure you put the semantic-release-hex plugin above @semantic-release/git and @semantic-release/github, or the updated mix.exs file won't be included in the commit/tag/release.

Example

{
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    "@semantic-release/changelog",
    "semantic-release-hex",
    [
      "@semantic-release/git",
      {
        "assets": ["CHANGELOG.md", "mix.exs"],
        "message": "chore(release): v${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
      }
    ],
    "@semantic-release/github"
  ]
}

Supported version formats

Regular

  def project do
    [
      version: "0.4.2",
    ]
  end

Module attribute

  @version "0.4.2"

  def project do
    [
      version: @version,
    ]
  end

Community

Join the Discord server! Here you can discuss issues and get help in a more casual forum than GitHub.

Contributing

This project is looking for help! If you're interested in helping with the project, please take a look at our contributing documentation.

Submitting Bugs/Issues

Please have a look at our contributing documentation, it contains all the information you need to know before submitting an issue.