diff --git a/ops/gerrit-webhook-to-irccat/default.nix b/ops/gerrit-webhook-to-irccat/default.nix index fb59ff1a5..bb55eed70 100644 --- a/ops/gerrit-webhook-to-irccat/default.nix +++ b/ops/gerrit-webhook-to-irccat/default.nix @@ -10,5 +10,5 @@ pkgs.buildGoModule { ./go.sum ]; }; - vendorHash = "sha256-x5ldt3KWL6ri5UqbKFXN717R4JVTIFZyn5DsgGi/RY4="; + vendorHash = "sha256-Xq0p6EEPFS23H+RMkzQw6767d8WujAz7doR6E/YKrgY="; } diff --git a/ops/gerrit-webhook-to-irccat/go.mod b/ops/gerrit-webhook-to-irccat/go.mod index 98d2e38f7..687198831 100644 --- a/ops/gerrit-webhook-to-irccat/go.mod +++ b/ops/gerrit-webhook-to-irccat/go.mod @@ -10,13 +10,11 @@ require ( ) require ( - github.com/google/go-querystring v1.1.0 // indirect github.com/google/uuid v1.6.0 // indirect go.opentelemetry.io/otel v1.29.0 // indirect go.opentelemetry.io/otel/trace v1.29.0 // indirect ) -// switch to the "fixes" branch, which renames _number to number and -// work_in_progress to wip to match the structure of the JSON being sent. -// Tracking issue: https://github.com/andygrunwald/go-gerrit/pull/187 -replace github.com/andygrunwald/go-gerrit v1.0.0 => github.com/flokli/go-gerrit v0.0.0-20250515192813-cf3a6e735367 +// Use the different data types sent in streams +// https://github.com/andygrunwald/go-gerrit/pull/189 +replace github.com/andygrunwald/go-gerrit v1.0.0 => github.com/flokli/go-gerrit v0.0.0-20250523210852-9e357d872ff3 diff --git a/ops/gerrit-webhook-to-irccat/go.sum b/ops/gerrit-webhook-to-irccat/go.sum index 6e68774c8..fe801708b 100644 --- a/ops/gerrit-webhook-to-irccat/go.sum +++ b/ops/gerrit-webhook-to-irccat/go.sum @@ -2,13 +2,12 @@ github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8 github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/flokli/go-gerrit v0.0.0-20250515192813-cf3a6e735367 h1:qurVA28MaXYGbk1nWD5+PQhO5URhJW0PTgPNT1CPp0c= -github.com/flokli/go-gerrit v0.0.0-20250515192813-cf3a6e735367/go.mod h1:SeP12EkHZxEVjuJ2HZET304NBtHGG2X6w2Gzd0QXAZw= +github.com/flokli/go-gerrit v0.0.0-20250523210852-9e357d872ff3 h1:bkCL+U77VI69eCzZjBszrtl4ytCJcWZdkZeKfiNlz3o= +github.com/flokli/go-gerrit v0.0.0-20250523210852-9e357d872ff3/go.mod h1:SeP12EkHZxEVjuJ2HZET304NBtHGG2X6w2Gzd0QXAZw= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= diff --git a/ops/gerrit-webhook-to-irccat/main.go b/ops/gerrit-webhook-to-irccat/main.go index 02d6b4db4..eac163687 100644 --- a/ops/gerrit-webhook-to-irccat/main.go +++ b/ops/gerrit-webhook-to-irccat/main.go @@ -18,7 +18,7 @@ import ( sloghttp "github.com/samber/slog-http" "golang.org/x/sync/errgroup" - "github.com/andygrunwald/go-gerrit" + gerritStreams "github.com/andygrunwald/go-gerrit/streams" ) // TODO: @@ -27,7 +27,7 @@ import ( var logger *slog.Logger var tmplStr = `{{- if eq .Type "patchset-created" -}} -{{- if (and (eq .PatchSet.Number "1") (eq .Change.WorkInProgress false) ) -}} +{{- if (and (eq .PatchSet.Number "1") (eq .Change.Wip false) ) -}} #snix CL/{{.Change.Number}} proposed by {{.Change.Owner.Username}} - {{.Change.Subject}} - {{.Change.URL}} {{- end -}} {{- else if eq .Type "change-merged" -}} @@ -51,17 +51,17 @@ func handler(w http.ResponseWriter, r *http.Request) { } logger.InfoContext(r.Context(), "received event", slog.Any("body", body.Bytes())) - var eventInfo gerrit.EventInfo - if err := json.Unmarshal(body.Bytes(), &eventInfo); err != nil { + var event gerritStreams.Event + if err := json.Unmarshal(body.Bytes(), &event); err != nil { logger.WarnContext(r.Context(), "failed to parse body", slog.Any("error", err)) return } - logger.InfoContext(r.Context(), "received event", slog.Any("event", eventInfo)) + logger.InfoContext(r.Context(), "received event", slog.Any("event", event)) // render the template into a buffer. var msg bytes.Buffer - if err := tmpl.Execute(&msg, eventInfo); err != nil { + if err := tmpl.Execute(&msg, event); err != nil { logger.WarnContext(r.Context(), "failed to execute template with data", slog.Any("error", err)) return }