Преглед изворни кода

Export the git SHA1 within the release's directory

theenglishway (time) пре 4 година
родитељ
комит
ea5625ecde
1 измењених фајлова са 8 додато и 1 уклоњено
  1. 8 1
      mix.exs

+ 8 - 1
mix.exs

@@ -10,7 +10,8 @@ defmodule Toy.MixProject do
       compilers: [:phoenix, :gettext] ++ Mix.compilers(),
       start_permanent: Mix.env() == :prod,
       aliases: aliases(),
-      deps: deps()
+      deps: deps(),
+      releases: [toy: [steps: [:assemble, &export_sha1/1]]]
     ]
   end
 
@@ -76,4 +77,10 @@ defmodule Toy.MixProject do
   defp to_semver_string(described) when is_binary(described) do
     with {:ok, _} <- described |> Version.parse(), do: {:ok, described}
   end
+
+  defp export_sha1(rel = %{version_path: path}) do
+    with {sha1, 0} <- System.cmd("git", ["rev-parse", "HEAD"]),
+         :ok <- path |> Path.join("git-sha1") |> File.write(sha1),
+         do: rel
+  end
 end