From 12469c42515772d6a4c45901d994b64e3c8d632f Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Fri, 29 Dec 2023 15:22:03 -0300 Subject: [PATCH] feat: store which action is being taken in the context (#4508) refs #4504 Signed-off-by: Carlos Alexandro Becker --- cmd/build.go | 1 + cmd/build_test.go | 5 +++++ cmd/release.go | 1 + cmd/release_test.go | 5 +++++ pkg/context/context.go | 9 +++++++++ 5 files changed, 21 insertions(+) diff --git a/cmd/build.go b/cmd/build.go index 529a70d0391..b9bfab1b15f 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -167,6 +167,7 @@ func setupPipeline(ctx *context.Context, options buildOpts) []pipeline.Piper { } func setupBuildContext(ctx *context.Context, options buildOpts) error { + ctx.Action = context.ActionBuild ctx.Deprecated = options.deprecated // test only ctx.Parallelism = runtime.GOMAXPROCS(0) if options.parallelism > 0 { diff --git a/cmd/build_test.go b/cmd/build_test.go index 210a8b858f8..3966994b0a7 100644 --- a/cmd/build_test.go +++ b/cmd/build_test.go @@ -137,6 +137,11 @@ func TestBuildFlags(t *testing.T) { return ctx } + t.Run("action", func(t *testing.T) { + ctx := setup(buildOpts{}) + require.Equal(t, context.ActionBuild, ctx.Action) + }) + t.Run("snapshot", func(t *testing.T) { ctx := setup(buildOpts{ snapshot: true, diff --git a/cmd/release.go b/cmd/release.go index cf16d97f5cc..9d82a733022 100644 --- a/cmd/release.go +++ b/cmd/release.go @@ -171,6 +171,7 @@ func releaseProject(options releaseOpts) (*context.Context, error) { } func setupReleaseContext(ctx *context.Context, options releaseOpts) error { + ctx.Action = context.ActionRelease ctx.Deprecated = options.deprecated // test only ctx.Parallelism = runtime.GOMAXPROCS(0) if options.parallelism > 0 { diff --git a/cmd/release_test.go b/cmd/release_test.go index c6bdc6a4f94..36cec6f759a 100644 --- a/cmd/release_test.go +++ b/cmd/release_test.go @@ -62,6 +62,11 @@ func TestReleaseFlags(t *testing.T) { return ctx } + t.Run("action", func(t *testing.T) { + ctx := setup(t, releaseOpts{}) + require.Equal(t, context.ActionRelease, ctx.Action) + }) + t.Run("snapshot", func(t *testing.T) { ctx := setup(t, releaseOpts{ snapshot: true, diff --git a/pkg/context/context.go b/pkg/context/context.go index f193b8bf3d3..03090d39a15 100644 --- a/pkg/context/context.go +++ b/pkg/context/context.go @@ -69,9 +69,18 @@ const ( TokenTypeGitea TokenType = "gitea" ) +type Action uint8 + +const ( + ActionNone Action = iota + ActionBuild + ActionRelease +) + // Context carries along some data through the pipes. type Context struct { stdctx.Context + Action Action Config config.Project Env Env Token string