Skip to content

Commit

Permalink
mimir: 2.4.0 -> 2.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
happysalada authored and Yt committed Dec 17, 2022
1 parent 2132ffc commit 4e37151
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 4 deletions.
14 changes: 10 additions & 4 deletions pkgs/servers/monitoring/mimir/default.nix
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
let
pinData = lib.importJSON ./pin.json;
in
buildGoModule rec {
pname = "mimir";
version = "2.4.0";
version = pinData.version;

src = fetchFromGitHub {
rev = "${pname}-${version}";
owner = "grafana";
repo = pname;
sha256 = "sha256-OpQxVp4Q2+r3Tqrqw3SrBsJDU5KJqChxsuYneT0PvYQ=";
sha256 = pinData.sha256;
};

vendorSha256 = null;
Expand All @@ -17,8 +20,11 @@ buildGoModule rec {
"cmd/mimirtool"
];

passthru.tests = {
inherit (nixosTests) mimir;
passthru = {
updateScript = ./update.sh;
tests = {
inherit (nixosTests) mimir;
};
};

ldflags = let t = "github.com/grafana/mimir/pkg/util/version";
Expand Down
4 changes: 4 additions & 0 deletions pkgs/servers/monitoring/mimir/pin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"version": "mimir-2.5.0",
"sha256": "sha256-lyF7ugnNEJug1Vx24ISrtENk6RoIt7H1zaCPYUZbBmM="
}
25 changes: 25 additions & 0 deletions pkgs/servers/monitoring/mimir/update.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env nix-shell
#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep

# TODO set to `verbose` or `extdebug` once implemented in oil
shopt --set xtrace
# we need failures inside of command subs to get the correct vendorSha256
shopt --unset inherit_errexit

const directory = $(dirname $0 | xargs realpath)
const owner = "grafana"
const repo = "mimir"
const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
jq -r '.tag_name')
const latest_version = $(echo $latest_rev | sd 'v' '')
const current_version = $(jq -r '.version' $directory/pin.json)
if ("$latest_version" === "$current_version") {
echo "$repo is already up-to-date"
return 0
} else {
const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev")
const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"

jq ".version = \"$latest_version\" | \
.\"sha256\" = \"$tarball_hash\"" $directory/pin.json | sponge $directory/pin.json
}

0 comments on commit 4e37151

Please sign in to comment.