opentelemetry-collector-releases: add updateScript
Before this there was no auto-updates for opentelemetry-collector-releases, but since opentelemetry-collector-builder received auto-updates the versioning regularly broke. This adds an updateScript that updates both at the same time.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
buildGoModule rec {
|
||||
pname = "ocb";
|
||||
# Also update `pkgs/tools/misc/opentelemetry-collector/releases.nix`
|
||||
# whenever that version changes.
|
||||
# whenever this version changes.
|
||||
version = "0.155.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -31,6 +31,8 @@ buildGoModule rec {
|
||||
"-skip TestGenerateAndCompile|TestReplaceStatementsAreComplete|TestVersioning|TestRunInit"
|
||||
];
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
# Rename to ocb (it's generated as "builder")
|
||||
postInstall = ''
|
||||
mv $out/bin/builder $out/bin/ocb
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
testers,
|
||||
nixosTests,
|
||||
opentelemetry-collector-builder,
|
||||
pkgs,
|
||||
go,
|
||||
git,
|
||||
cacert,
|
||||
@@ -17,12 +15,10 @@ let
|
||||
builder = "${opentelemetry-collector-builder}/bin/ocb";
|
||||
|
||||
# Keep the version in sync with the builder.
|
||||
rev = opentelemetry-collector-builder.src.rev;
|
||||
|
||||
version = lib.removePrefix "cmd/builder/v" rev;
|
||||
version = "0.151.0";
|
||||
|
||||
# This is a weird meta-repo where all the open-telemetry collectors are.
|
||||
src = fetchFromGitHub {
|
||||
releasesSrc = fetchFromGitHub {
|
||||
owner = "open-telemetry";
|
||||
repo = "opentelemetry-collector-releases";
|
||||
rev = "v${version}";
|
||||
@@ -39,7 +35,10 @@ let
|
||||
hash,
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
inherit name;
|
||||
# Inherit the version from the builder, so that updates there trigger
|
||||
# a rebuild here.
|
||||
inherit version;
|
||||
pname = "${name}-src";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cacert
|
||||
@@ -47,7 +46,7 @@ let
|
||||
go
|
||||
];
|
||||
|
||||
inherit src;
|
||||
src = releasesSrc;
|
||||
|
||||
outputHash = hash;
|
||||
outputHashMode = "recursive";
|
||||
@@ -117,11 +116,16 @@ let
|
||||
--zsh <($out/bin/${name} completion zsh)
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion {
|
||||
inherit package version;
|
||||
command = "${name} -v";
|
||||
passthru = {
|
||||
tests = {
|
||||
version = testers.testVersion {
|
||||
inherit package version;
|
||||
command = "${name} -v";
|
||||
};
|
||||
};
|
||||
# The updatescript for the builder updates the releases
|
||||
updateScript = null;
|
||||
inherit releasesSrc;
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p curl jq nix-update common-updater-scripts
|
||||
set -euf
|
||||
|
||||
# Get latest version from releases repo
|
||||
version=$(curl https://api.github.com/repos/open-telemetry/opentelemetry-collector-releases/releases/latest | jq -r '.name')
|
||||
version=${version#v}
|
||||
|
||||
# Update builder
|
||||
nix-update opentelemetry-collector-builder --version="${version}"
|
||||
|
||||
# Update the otel-collector-releases source
|
||||
update-source-version opentelemetry-collector-releases.otelcol "${version}" --source-key="releasesSrc"
|
||||
|
||||
# Update the individual distributions
|
||||
for dist in {"",-contrib,-k8s,-otlp}
|
||||
do
|
||||
nix-update "opentelemetry-collector-releases.otelcol${dist}" --version skip
|
||||
done
|
||||
Reference in New Issue
Block a user