From 776f0641fd227e52a2cd14e08acbb2b9e1ebab75 Mon Sep 17 00:00:00 2001 From: earl-warren Date: Sat, 16 Aug 2025 17:59:20 +0000 Subject: [PATCH] feat: fail when using an invalid label during non interactive registration (#647) * add test * return validation error not nil from function Reviewed-on: https://gitea.com/gitea/act_runner/pulls/683 Reviewed-by: techknowlogick Co-authored-by: Christopher Homberger Co-committed-by: Christopher Homberger (cherry picked from commit f0b5aff3bbeda469a682fe21144c16485ea2189a) - features - [PR](https://code.forgejo.org/forgejo/runner/pulls/647): feat: fail when using an invalid label during non interactive registration Co-authored-by: Christopher Homberger Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/647 Reviewed-by: Gusted Reviewed-by: Mathieu Fenniak --- internal/app/cmd/register.go | 2 +- internal/app/cmd/register_test.go | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/internal/app/cmd/register.go b/internal/app/cmd/register.go index 5e2f5d8a..a6a3d2cf 100644 --- a/internal/app/cmd/register.go +++ b/internal/app/cmd/register.go @@ -276,7 +276,7 @@ func registerNoInteractive(ctx context.Context, configFile string, regArgs *regi } if err := inputs.validate(); err != nil { log.WithError(err).Errorf("Invalid input, please re-run act command.") - return nil + return err } if err := doRegister(ctx, cfg, inputs); err != nil { return fmt.Errorf("Failed to register runner: %w", err) diff --git a/internal/app/cmd/register_test.go b/internal/app/cmd/register_test.go index a69775a8..1283db97 100644 --- a/internal/app/cmd/register_test.go +++ b/internal/app/cmd/register_test.go @@ -6,6 +6,8 @@ package cmd import ( "slices" "testing" + + "github.com/stretchr/testify/assert" ) func TestCommaSplit(t *testing.T) { @@ -29,3 +31,12 @@ func TestCommaSplit(t *testing.T) { } } } + +func TestRegisterNonInteractiveReturnsLabelValidationError(t *testing.T) { + err := registerNoInteractive(t.Context(), "", ®isterArgs{ + Labels: "label:invalid", + Token: "token", + InstanceAddr: "http://localhost:3000", + }) + assert.Error(t, err, "unsupported schema: invalid") +}