From 4b8d755bf4b771e693cacd8f254512540f22d678 Mon Sep 17 00:00:00 2001 From: Pantani Date: Thu, 5 Feb 2026 23:08:59 -0300 Subject: [PATCH] fix: add hermes timeout to fetch the binary --- hermes/pkg/hermes/bin.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hermes/pkg/hermes/bin.go b/hermes/pkg/hermes/bin.go index 03db18e4..1819e7df 100644 --- a/hermes/pkg/hermes/bin.go +++ b/hermes/pkg/hermes/bin.go @@ -11,6 +11,7 @@ import ( "path/filepath" "runtime" "strings" + "time" "github.com/ignite/cli/v29/ignite/config" "github.com/ignite/cli/v29/ignite/pkg/errors" @@ -38,6 +39,10 @@ var archMap = map[string]string{ "386": "i386", } +var httpClient = &http.Client{ + Timeout: 30 * time.Second, +} + var osMap = map[string]string{ "darwin": "apple-darwin", "linux": "unknown-linux-gnu", @@ -112,7 +117,7 @@ func getHermesAssetURL(version string) (string, error) { expectedAssetName := fmt.Sprintf("hermes-%s-%s-%s.tar.gz", version, archMapped, osMapped) // Request release metadata from GitHub - resp, err := http.Get(apiURL + version) + resp, err := httpClient.Get(apiURL + version) if err != nil { return "", errors.Errorf("failed to fetch release info: %w", err) } @@ -152,7 +157,7 @@ func downloadAndExtractHermes(downloadURL, version string) (string, error) { } defer out.Close() - resp, err := http.Get(downloadURL) + resp, err := httpClient.Get(downloadURL) if err != nil { return "", errors.Errorf("failed to download binary: %w", err) }