From 535133e2c9bc56bad974e11e9db5ce9a16f6dce3 Mon Sep 17 00:00:00 2001 From: Klaus Lungwitz Date: Mon, 13 Jan 2025 21:26:17 -0300 Subject: [PATCH 1/3] Explorer hotfix When GitHub is down this function breaks the site This has been applied in-place in mainnet --- explorer/lib/explorer_web/components/nav.ex | 2 +- explorer/lib/explorer_web/live/pages/home/index.ex | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/explorer/lib/explorer_web/components/nav.ex b/explorer/lib/explorer_web/components/nav.ex index ff29adb71a..a7332a2a20 100644 --- a/explorer/lib/explorer_web/components/nav.ex +++ b/explorer/lib/explorer_web/components/nav.ex @@ -20,7 +20,7 @@ defmodule NavComponent do def mount(socket) do {:ok, assign(socket, - latest_release: ReleasesHelper.get_latest_release() + latest_release: "v0.13.0" )} end diff --git a/explorer/lib/explorer_web/live/pages/home/index.ex b/explorer/lib/explorer_web/live/pages/home/index.ex index ca215722b8..6855378ecc 100644 --- a/explorer/lib/explorer_web/live/pages/home/index.ex +++ b/explorer/lib/explorer_web/live/pages/home/index.ex @@ -36,7 +36,7 @@ defmodule ExplorerWeb.Home.Index do |> Decimal.to_integer() |> Helpers.convert_number_to_shorthand() - operator_latest_release = ReleasesHelper.get_latest_release() + operator_latest_release = "v0.13.0" [ %{ From 02ae6568c23e86979202c5baa2e9d669d8b15399 Mon Sep 17 00:00:00 2001 From: nicolau Date: Tue, 14 Jan 2025 11:47:43 -0300 Subject: [PATCH 2/3] refactor: load latest release from .env variable --- explorer/.env.dev | 3 ++ explorer/.env.example | 3 ++ explorer/lib/explorer_web/components/nav.ex | 2 +- .../lib/explorer_web/live/pages/home/index.ex | 2 +- .../lib/explorer_web/live/releases_helper.ex | 35 +------------------ explorer/start.sh | 1 + 6 files changed, 10 insertions(+), 36 deletions(-) diff --git a/explorer/.env.dev b/explorer/.env.dev index 38728db845..bc3bd8e402 100644 --- a/explorer/.env.dev +++ b/explorer/.env.dev @@ -25,3 +25,6 @@ MAX_BATCH_SIZE=268435456 # 256 MiB # Time we wait for a batch to be verified before marking it stale BATCH_TTL_MINUTES=5 + +# Latest aligned release that operators should be running +LATEST_RELEASE=v13.0.0 diff --git a/explorer/.env.example b/explorer/.env.example index b9a3a7a32a..f2d23a08e1 100644 --- a/explorer/.env.example +++ b/explorer/.env.example @@ -23,3 +23,6 @@ TRACKER_API_URL= # Time we wait for a batch to be verified before marking it stale BATCH_TTL_MINUTES=5 + +# Latest aligned release that operators should be running +LATEST_RELEASE=v13.0.0 diff --git a/explorer/lib/explorer_web/components/nav.ex b/explorer/lib/explorer_web/components/nav.ex index a7332a2a20..ff29adb71a 100644 --- a/explorer/lib/explorer_web/components/nav.ex +++ b/explorer/lib/explorer_web/components/nav.ex @@ -20,7 +20,7 @@ defmodule NavComponent do def mount(socket) do {:ok, assign(socket, - latest_release: "v0.13.0" + latest_release: ReleasesHelper.get_latest_release() )} end diff --git a/explorer/lib/explorer_web/live/pages/home/index.ex b/explorer/lib/explorer_web/live/pages/home/index.ex index 6855378ecc..ca215722b8 100644 --- a/explorer/lib/explorer_web/live/pages/home/index.ex +++ b/explorer/lib/explorer_web/live/pages/home/index.ex @@ -36,7 +36,7 @@ defmodule ExplorerWeb.Home.Index do |> Decimal.to_integer() |> Helpers.convert_number_to_shorthand() - operator_latest_release = "v0.13.0" + operator_latest_release = ReleasesHelper.get_latest_release() [ %{ diff --git a/explorer/lib/explorer_web/live/releases_helper.ex b/explorer/lib/explorer_web/live/releases_helper.ex index 7a9a6db351..4f8a3eb7e7 100644 --- a/explorer/lib/explorer_web/live/releases_helper.ex +++ b/explorer/lib/explorer_web/live/releases_helper.ex @@ -2,39 +2,6 @@ defmodule ReleasesHelper do require Logger def get_latest_release do - case do_fetch_latest_release() do - {:ok, tag} -> - tag - - {:error, reason} -> - Logger.error("Failed to fetch latest release: #{reason}") - nil - end - end - - defp do_fetch_latest_release do - with :ok <- fetch_tags(), - {:ok, tag} <- get_latest_tag() do - {:ok, tag} - end - end - - defp fetch_tags do - case System.cmd("git", ["fetch", "--tags"]) do - {_, 0} -> :ok - {error, _} -> {:error, "Failed to fetch tags: #{error}"} - end - end - - defp get_latest_tag do - case System.cmd("git", ["rev-list", "--tags", "--max-count=1"]) do - {sha, 0} -> - sha = String.trim(sha) - case System.cmd("git", ["describe", "--tags", sha]) do - {tag, 0} -> {:ok, String.trim(tag)} - {_, _} -> {:error, "Failed to describe tag"} - end - {_, _} -> {:error, "No tags found or not a git repository"} - end + System.get_env("LATEST_RELEASE") end end diff --git a/explorer/start.sh b/explorer/start.sh index 1763d73149..dd49823a58 100755 --- a/explorer/start.sh +++ b/explorer/start.sh @@ -16,6 +16,7 @@ env_vars=( "TRACKER_API_URL" "MAX_BATCH_SIZE" "BATCH_TTL_MINUTES" + "LATEST_RELEASE" ) for var in "${env_vars[@]}"; do From ee6be8a435893fe2c1584f3ae70e62076b783840 Mon Sep 17 00:00:00 2001 From: nicolau Date: Tue, 14 Jan 2025 13:12:49 -0300 Subject: [PATCH 3/3] fix: .env latest release version --- explorer/.env.dev | 2 +- explorer/.env.example | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/explorer/.env.dev b/explorer/.env.dev index bc3bd8e402..ccbd316a4a 100644 --- a/explorer/.env.dev +++ b/explorer/.env.dev @@ -27,4 +27,4 @@ MAX_BATCH_SIZE=268435456 # 256 MiB BATCH_TTL_MINUTES=5 # Latest aligned release that operators should be running -LATEST_RELEASE=v13.0.0 +LATEST_RELEASE=v0.13.0 diff --git a/explorer/.env.example b/explorer/.env.example index f2d23a08e1..0733157512 100644 --- a/explorer/.env.example +++ b/explorer/.env.example @@ -25,4 +25,4 @@ TRACKER_API_URL= BATCH_TTL_MINUTES=5 # Latest aligned release that operators should be running -LATEST_RELEASE=v13.0.0 +LATEST_RELEASE=v0.13.0