From b4128c780603bf6d27db5819be3b6b05c64b4318 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 13 Nov 2025 17:58:22 +0000 Subject: [PATCH 1/3] promethus-alertmanager: Use finalAttrs --- pkgs/servers/monitoring/prometheus/alertmanager.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix index 18b4dc52e323..651706399c79 100644 --- a/pkgs/servers/monitoring/prometheus/alertmanager.nix +++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix @@ -7,15 +7,14 @@ nixosTests, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "alertmanager"; version = "0.29.0"; - rev = "v${version}"; src = fetchFromGitHub { - inherit rev; owner = "prometheus"; repo = "alertmanager"; + tag = "v${finalAttrs.version}"; hash = "sha256-2uP4JCbQEe7/en5sBq/k73kqK6YVmuLvfiUy1fqPitw="; }; @@ -31,8 +30,8 @@ buildGoModule rec { t = "github.com/prometheus/common/version"; in [ - "-X ${t}.Version=${version}" - "-X ${t}.Revision=${src.rev}" + "-X ${t}.Version=${finalAttrs.version}" + "-X ${t}.Revision=unknown" "-X ${t}.Branch=unknown" "-X ${t}.BuildUser=nix@nixpkgs" "-X ${t}.BuildDate=unknown" @@ -53,7 +52,7 @@ buildGoModule rec { meta = with lib; { description = "Alert dispatcher for the Prometheus monitoring system"; homepage = "https://github.com/prometheus/alertmanager"; - changelog = "https://github.com/prometheus/alertmanager/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/prometheus/alertmanager/blob/v${finalAttrs.version}/CHANGELOG.md"; license = licenses.asl20; maintainers = with maintainers; [ benley @@ -62,4 +61,4 @@ buildGoModule rec { Frostman ]; }; -} +}) From fc317efeeac928923844aa557b9179828c6371c5 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 13 Nov 2025 18:05:04 +0000 Subject: [PATCH 2/3] prometheus-alertmanager: Migrate to by-name --- .../pr/prometheus-alertmanager/package.nix} | 0 pkgs/top-level/all-packages.nix | 1 - 2 files changed, 1 deletion(-) rename pkgs/{servers/monitoring/prometheus/alertmanager.nix => by-name/pr/prometheus-alertmanager/package.nix} (100%) diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/by-name/pr/prometheus-alertmanager/package.nix similarity index 100% rename from pkgs/servers/monitoring/prometheus/alertmanager.nix rename to pkgs/by-name/pr/prometheus-alertmanager/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0cf76772b6b0..3689dcff2953 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9528,7 +9528,6 @@ with pkgs; postgrest = haskellPackages.postgrest.bin; prom2json = callPackage ../servers/monitoring/prometheus/prom2json.nix { }; - prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { }; prometheus-apcupsd-exporter = callPackage ../servers/monitoring/prometheus/apcupsd-exporter.nix { }; prometheus-artifactory-exporter = callPackage ../servers/monitoring/prometheus/artifactory-exporter.nix From 9b1b9887f5ed7fd9ffe6af0056be582faf9a7dc2 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Thu, 13 Nov 2025 18:10:01 +0000 Subject: [PATCH 3/3] prometheus-alertmanager: Add versionCheckHook --- pkgs/by-name/pr/prometheus-alertmanager/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/pr/prometheus-alertmanager/package.nix b/pkgs/by-name/pr/prometheus-alertmanager/package.nix index 651706399c79..297ccdaf93b3 100644 --- a/pkgs/by-name/pr/prometheus-alertmanager/package.nix +++ b/pkgs/by-name/pr/prometheus-alertmanager/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, installShellFiles, nixosTests, + versionCheckHook, }: buildGoModule (finalAttrs: { @@ -49,11 +50,17 @@ buildGoModule (finalAttrs: { passthru.tests = { inherit (nixosTests.prometheus) alertmanager; }; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + meta = with lib; { description = "Alert dispatcher for the Prometheus monitoring system"; homepage = "https://github.com/prometheus/alertmanager"; changelog = "https://github.com/prometheus/alertmanager/blob/v${finalAttrs.version}/CHANGELOG.md"; license = licenses.asl20; + mainProgram = "alertmanager"; maintainers = with maintainers; [ benley fpletz