From: Dan Fuhry Date: Mon, 19 Oct 2026 21:09:32 +0000 (-0400) Subject: add rollouts generated package X-Git-Url: https://go.fuhry.dev/?a=commitdiff_plain;h=aa2e8893e5097d019ee5311ced526a3aed95d840;p=runtime.git add rollouts generated package --- diff --git a/utils/rollout/rollouts/BUILD.bazel b/utils/rollout/rollouts/BUILD.bazel new file mode 100644 index 0000000..ada9fcb --- /dev/null +++ b/utils/rollout/rollouts/BUILD.bazel @@ -0,0 +1,11 @@ +load("//bazel:go.bzl", "go_multi_library") + +go_multi_library( + name = "rollouts", + srcs = [ + "rollouts.gen.go", + "types.go", + ], + importpath = "go.fuhry.dev/runtime/utils/rollout/rollouts", + visibility = ["//visibility:public"], +) diff --git a/utils/rollout/rollouts/generate.sh b/utils/rollout/rollouts/generate.sh new file mode 100755 index 0000000..eb42fff --- /dev/null +++ b/utils/rollout/rollouts/generate.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +set -euo pipefail + +declare -r scriptdir="$(cd "$(dirname "$0")"; pwd)" +declare -r repodir="$(cd "$scriptdir/../../.."; pwd)" +declare -r trunc="$(( ${#repodir} + 1 ))" + +echo -n > "$scriptdir/rollouts.gen.go" + +out() { + echo -e "$@" >> "$scriptdir/rollouts.gen.go" +} + +out "package rollouts" +out "" +out "var allRollouts = []string{" + +while read match; do + IFS=":" read f ro <<< "$match" + + out "\t// from ${f:$trunc}" + out "\t${ro:12}," +done < <(grep -roE --include="*.go" --exclude="*_test.go" --exclude="*.gen.go" --exclude="*.pb.go" 'rollout.New\("[a-z0-9_]+"' "$repodir") + +out "}" diff --git a/utils/rollout/rollouts/rollouts.gen.go b/utils/rollout/rollouts/rollouts.gen.go new file mode 100644 index 0000000..d1b0e8f --- /dev/null +++ b/utils/rollout/rollouts/rollouts.gen.go @@ -0,0 +1,6 @@ +package rollouts + +var allRollouts = []string{ + // from metrics/metricbus/mbclient/common.go + "metricbus_dbus_to_http", +} diff --git a/utils/rollout/rollouts/types.go b/utils/rollout/rollouts/types.go new file mode 100644 index 0000000..7261e22 --- /dev/null +++ b/utils/rollout/rollouts/types.go @@ -0,0 +1,12 @@ +package rollouts + +import "slices" + +//go:generate ./generate.sh + +func Rollouts() []string { + out := make([]string, len(allRollouts)) + copy(out, allRollouts) + slices.Sort(out) + return out +}