ReleaseKit.Builder (ReleaseKit v0.1.0)

Copy Markdown

Orchestrates Mix release artifact builds.

Summary

Functions

Returns the default artifact version for the current checkout.

Builds the configured Mix release and writes a tarball plus ETF manifest.

Types

result()

@type result() :: %{
  tarball: Path.t(),
  manifest_path: Path.t(),
  manifest: ReleaseKit.Manifest.t()
}

Functions

artifact_version()

@spec artifact_version() :: String.t()

Returns the default artifact version for the current checkout.

build(opts \\ [])

@spec build(keyword()) :: result()

Builds the configured Mix release and writes a tarball plus ETF manifest.

Options:

  • :out_dir - output directory, defaults to Path.join(Mix.Project.build_path(), "artifacts").
  • :release - release name, defaults to the Mix :app name.
  • :version - artifact version, defaults to YYYYMMDD-gitsha or project version.
  • :port and :health_path - optional HTTP health check metadata.
  • :env_clear and :env_secret - runtime environment hints for deploy tools.
  • :build_release? - runs mix release --overwrite when true, default true.