diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8b0285253..8a95f24bf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -130,6 +130,8 @@ jobs: steps: - uses: actions/checkout@v2 - name: Build + env: + GIT_SHA: ${{ github.sha }} run: | . $HOME/.asdf/asdf.sh cd omnibus diff --git a/apps/fz_common/mix.exs b/apps/fz_common/mix.exs index ab460e9ce..e9a3ff1bd 100644 --- a/apps/fz_common/mix.exs +++ b/apps/fz_common/mix.exs @@ -1,7 +1,7 @@ defmodule FzCommon.MixProject do use Mix.Project - @version_path "../../version.exs" + @version_path "../../scripts/version.exs" def version do Code.eval_file(@version_path) @@ -16,7 +16,7 @@ defmodule FzCommon.MixProject do config_path: "../../config/config.exs", deps_path: "../../deps", lockfile: "../../mix.lock", - elixir: "~> 1.11", + elixir: "~> 1.12", start_permanent: Mix.env() == :prod, deps: deps() ] diff --git a/apps/fz_http/lib/fz_http_web/templates/layout/root.html.heex b/apps/fz_http/lib/fz_http_web/templates/layout/root.html.heex index e83bda60c..5eedd0cd8 100644 --- a/apps/fz_http/lib/fz_http_web/templates/layout/root.html.heex +++ b/apps/fz_http/lib/fz_http_web/templates/layout/root.html.heex @@ -142,7 +142,7 @@
- + Version <%= application_version() %>
diff --git a/apps/fz_http/lib/fz_http_web/views/layout_view.ex b/apps/fz_http/lib/fz_http_web/views/layout_view.ex index def35d2f7..8f435cdc7 100644 --- a/apps/fz_http/lib/fz_http_web/views/layout_view.ex +++ b/apps/fz_http/lib/fz_http_web/views/layout_view.ex @@ -23,8 +23,8 @@ defmodule FzHttpWeb.LayoutView do The current github sha, used to link to our Github repo. This is set during application compile time. """ - def github_sha do - Application.get_env(:fz_http, :github_sha, "master") + def git_sha do + Application.fetch_env!(:fz_http, :git_sha) end @doc """ diff --git a/apps/fz_http/mix.exs b/apps/fz_http/mix.exs index 23777ebe6..45de1d324 100644 --- a/apps/fz_http/mix.exs +++ b/apps/fz_http/mix.exs @@ -1,7 +1,7 @@ defmodule FzHttp.MixProject do use Mix.Project - @version_path "../../version.exs" + @version_path "../../scripts/version.exs" def version do Code.eval_file(@version_path) @@ -16,7 +16,7 @@ defmodule FzHttp.MixProject do config_path: "../../config/config.exs", deps_path: "../../deps", lockfile: "../../mix.lock", - elixir: "~> 1.11", + elixir: "~> 1.12", elixirc_paths: elixirc_paths(Mix.env()), compilers: [:phoenix, :gettext] ++ Mix.compilers(), start_permanent: Mix.env() == :prod, diff --git a/apps/fz_vpn/mix.exs b/apps/fz_vpn/mix.exs index 9e7b85d24..a6c659cfe 100644 --- a/apps/fz_vpn/mix.exs +++ b/apps/fz_vpn/mix.exs @@ -1,7 +1,7 @@ defmodule FzVpn.MixProject do use Mix.Project - @version_path "../../version.exs" + @version_path "../../scripts/version.exs" def version do Code.eval_file(@version_path) @@ -16,7 +16,7 @@ defmodule FzVpn.MixProject do config_path: "../../config/config.exs", deps_path: "../../deps", lockfile: "../../mix.lock", - elixir: "~> 1.11", + elixir: "~> 1.12", start_permanent: Mix.env() == :prod, test_coverage: [tool: ExCoveralls], preferred_cli_env: [ diff --git a/apps/fz_wall/mix.exs b/apps/fz_wall/mix.exs index b92342ab3..4d67e3cb6 100644 --- a/apps/fz_wall/mix.exs +++ b/apps/fz_wall/mix.exs @@ -1,7 +1,7 @@ defmodule FzWall.MixProject do use Mix.Project - @version_path "../../version.exs" + @version_path "../../scripts/version.exs" def version do Code.eval_file(@version_path) @@ -16,7 +16,7 @@ defmodule FzWall.MixProject do config_path: "../../config/config.exs", deps_path: "../../deps", lockfile: "../../mix.lock", - elixir: "~> 1.11", + elixir: "~> 1.12", start_permanent: Mix.env() == :prod, test_coverage: [tool: ExCoveralls], preferred_cli_env: [ diff --git a/config/config.exs b/config/config.exs index 6bd1acea8..36ade9868 100644 --- a/config/config.exs +++ b/config/config.exs @@ -26,13 +26,14 @@ require Logger # Use Jason for JSON parsing in Phoenix config :phoenix, :json_library, Jason -github_sha = - case System.cmd("git", ["rev-parse", "--short", "HEAD"], stderr_to_stdout: true) do - {result, 0} -> - result |> String.trim() +git_sha = + case System.get_env("GIT_SHA") do + nil -> + {output, 0} = System.cmd("git", ["rev-parse", "--short", "HEAD"], stderr_to_stdout: true) + String.trim(output) - {_, _} -> - nil + str -> + str end config :fz_http, @@ -41,7 +42,7 @@ config :fz_http, connectivity_checks_enabled: true, connectivity_checks_interval: 3_600, connectivity_checks_url: "https://ping-dev.firez.one/", - github_sha: github_sha, + git_sha: git_sha, cookie_signing_salt: "Z9eq8iof", ecto_repos: [FzHttp.Repo], admin_email: "firezone@localhost", diff --git a/mix.exs b/mix.exs index 6232d1a42..15a957f47 100644 --- a/mix.exs +++ b/mix.exs @@ -5,7 +5,7 @@ defmodule FirezoneUmbrella.MixProject do use Mix.Project - @version_path "version.exs" + @version_path "scripts/version.exs" def version do Code.eval_file(@version_path) diff --git a/scripts/version.exs b/scripts/version.exs new file mode 100644 index 000000000..d40d906e7 --- /dev/null +++ b/scripts/version.exs @@ -0,0 +1,2 @@ +{result, 0} = System.cmd(Path.join([__DIR__, "semver.sh"]), [], stderr_to_stdout: true) +result |> String.trim() diff --git a/version.exs b/version.exs deleted file mode 100644 index 30b883ae3..000000000 --- a/version.exs +++ /dev/null @@ -1,7 +0,0 @@ -case System.cmd(Path.join([__DIR__, "scripts", "semver.sh"]), []) do - {result, 0} -> - result |> String.trim() - - {_, _} -> - "0.0.0" -end