From c533c59b5e9aab8d78743c8ff722f68fa25399c3 Mon Sep 17 00:00:00 2001 From: wass3r <1301201+wass3r@users.noreply.github.com> Date: Thu, 29 Aug 2024 23:34:01 -0500 Subject: [PATCH 1/2] fix(ci/deps): adjust renovate regex to auto-bump git image this was not working. the regex included the digest sha as the tag version instead of extracting it separately. i tweaked it a bit and ran renovate locally to make sure it is accurately capturing and updating the dependency as intended. --- .github/renovate.json | 5 ++--- cmd/vela-server/main.go | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index 6d795ad41..c8f5c890b 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -7,12 +7,11 @@ { "description": "Update docker images in go files", "fileMatch": [ - "^.*\\.go$" + "^cmd/vela-server/.+\\.go$" ], "matchStrings": [ - "\\/\\/ renovate: image=(?.*?)\\s+?.*[:|=]\\s+\"(?.*)\"\\,?" + "\"(?.*?):(?[^\"]*?)@(?sha256:[a-f0-9]+)\",? // renovate: container" ], - "versioningTemplate": "docker", "datasourceTemplate": "docker" } ] diff --git a/cmd/vela-server/main.go b/cmd/vela-server/main.go index fe74f9d72..20ea44418 100644 --- a/cmd/vela-server/main.go +++ b/cmd/vela-server/main.go @@ -94,8 +94,7 @@ func main() { EnvVars: []string{"VELA_CLONE_IMAGE"}, Name: "clone-image", Usage: "the clone image to use for the injected clone step", - // renovate: image=target/vela-git - Value: "target/vela-git:v0.8.0@sha256:02de004ae9dbf184c70039cb9ce431c31d6e7580eb9e6ec64a97ebf108aa65cb", + Value: "target/vela-git:v0.8.0@sha256:02de004ae9dbf184c70039cb9ce431c31d6e7580eb9e6ec64a97ebf108aa65cb", // renovate: container }, &cli.StringSliceFlag{ EnvVars: []string{"VELA_REPO_ALLOWLIST"}, From c956e615e4414928779f0cd1f73e182d5cd8f21f Mon Sep 17 00:00:00 2001 From: wass3rw3rk <49894298+wass3rw3rk@users.noreply.github.com> Date: Wed, 4 Sep 2024 15:19:26 -0500 Subject: [PATCH 2/2] enhance: use slim git image by default --- api/types/executor_test.go | 2 +- api/types/settings/compiler_test.go | 2 +- api/types/settings/platform_test.go | 2 +- cmd/vela-server/main.go | 2 +- compiler/native/clone_test.go | 2 +- compiler/native/compile_test.go | 2 +- compiler/native/testdata/clone_replace.yml | 2 +- database/integration_test.go | 14 +++++++------- database/settings/create_test.go | 4 ++-- database/settings/get_test.go | 4 ++-- database/settings/update_test.go | 4 ++-- database/types/settings_test.go | 12 ++++++------ mock/server/settings.go | 6 +++--- router/middleware/compiler_test.go | 4 ++-- router/middleware/pipeline/pipeline_test.go | 2 +- router/middleware/settings/context_test.go | 4 ++-- router/middleware/settings_test.go | 2 +- 17 files changed, 35 insertions(+), 35 deletions(-) diff --git a/api/types/executor_test.go b/api/types/executor_test.go index e47472b8a..5c0e3011f 100644 --- a/api/types/executor_test.go +++ b/api/types/executor_test.go @@ -162,7 +162,7 @@ func testExecutor() *Executor { { ID: "step_github_octocat_1_clone", Directory: "/home/github/octocat", - Image: "target/vela-git:v0.3.0", + Image: "target/vela-git-slim:v0.12.0", Name: "clone", Number: 2, Pull: "always", diff --git a/api/types/settings/compiler_test.go b/api/types/settings/compiler_test.go index a224a9cb7..a479fc8be 100644 --- a/api/types/settings/compiler_test.go +++ b/api/types/settings/compiler_test.go @@ -108,7 +108,7 @@ func TestTypes_Compiler_String(t *testing.T) { func testCompilerSettings() *Compiler { cs := new(Compiler) - cs.SetCloneImage("target/vela-git:latest") + cs.SetCloneImage("target/vela-git-slim:latest") cs.SetTemplateDepth(1) cs.SetStarlarkExecLimit(100) diff --git a/api/types/settings/platform_test.go b/api/types/settings/platform_test.go index 059c7b574..88bbe5dbd 100644 --- a/api/types/settings/platform_test.go +++ b/api/types/settings/platform_test.go @@ -179,7 +179,7 @@ func testPlatformSettings() *Platform { // setup compiler cs := new(Compiler) - cs.SetCloneImage("target/vela-git:latest") + cs.SetCloneImage("target/vela-git-slim:latest") cs.SetTemplateDepth(1) cs.SetStarlarkExecLimit(100) diff --git a/cmd/vela-server/main.go b/cmd/vela-server/main.go index 20ea44418..d5d0c34aa 100644 --- a/cmd/vela-server/main.go +++ b/cmd/vela-server/main.go @@ -94,7 +94,7 @@ func main() { EnvVars: []string{"VELA_CLONE_IMAGE"}, Name: "clone-image", Usage: "the clone image to use for the injected clone step", - Value: "target/vela-git:v0.8.0@sha256:02de004ae9dbf184c70039cb9ce431c31d6e7580eb9e6ec64a97ebf108aa65cb", // renovate: container + Value: "target/vela-git-slim:v0.12.0@sha256:533786ab3ef17c900b0105fdffbd7143d2601803f28b39e156132ad25819af0f", // renovate: container }, &cli.StringSliceFlag{ EnvVars: []string{"VELA_REPO_ALLOWLIST"}, diff --git a/compiler/native/clone_test.go b/compiler/native/clone_test.go index 304f703b2..1fc5b2813 100644 --- a/compiler/native/clone_test.go +++ b/compiler/native/clone_test.go @@ -12,7 +12,7 @@ import ( "github.com/go-vela/types/yaml" ) -const defaultCloneImage = "target/vela-git:latest" +const defaultCloneImage = "target/vela-git-slim:latest" func TestNative_CloneStage(t *testing.T) { // setup types diff --git a/compiler/native/compile_test.go b/compiler/native/compile_test.go index 9d1de65e1..84f5d8158 100644 --- a/compiler/native/compile_test.go +++ b/compiler/native/compile_test.go @@ -1551,7 +1551,7 @@ func TestNative_Compile_Clone(t *testing.T) { ID: "step___0_clone", Directory: "/vela/src/foo//", Environment: cloneEnv, - Image: "target/vela-git:v0.5.1", + Image: "target/vela-git-slim:v0.12.0", Name: "clone", Number: 2, Pull: "always", diff --git a/compiler/native/testdata/clone_replace.yml b/compiler/native/testdata/clone_replace.yml index e258910b6..cf9d49b9d 100644 --- a/compiler/native/testdata/clone_replace.yml +++ b/compiler/native/testdata/clone_replace.yml @@ -5,7 +5,7 @@ metadata: steps: - name: clone - image: target/vela-git:v0.5.1 + image: target/vela-git-slim:v0.12.0 parameters: depth: 5 pull: always diff --git a/database/integration_test.go b/database/integration_test.go index ad3748c4f..973eb5495 100644 --- a/database/integration_test.go +++ b/database/integration_test.go @@ -1804,8 +1804,8 @@ func testServices(t *testing.T, db Interface, resources *Resources) { methods["ListServicesForBuild"] = true expected := map[string]float64{ - "#init": 1, - "target/vela-git:v0.3.0": 1, + "#init": 1, + "target/vela-git-slim:v0.12.0": 1, } images, err := db.ListServiceImageCount(context.TODO()) if err != nil { @@ -1959,8 +1959,8 @@ func testSteps(t *testing.T, db Interface, resources *Resources) { methods["ListStepsForBuild"] = true expected := map[string]float64{ - "#init": 1, - "target/vela-git:v0.3.0": 1, + "#init": 1, + "target/vela-git-slim:v0.12.0": 1, } images, err := db.ListStepImageCount(ctx) if err != nil { @@ -2288,7 +2288,7 @@ func testSettings(t *testing.T, db Interface, resources *Resources) { // update the settings for _, s := range resources.Platform { - s.SetCloneImage("target/vela-git:abc123") + s.SetCloneImage("target/vela-git-slim:abc123") got, err := db.UpdateSettings(context.TODO(), s) if err != nil { t.Errorf("unable to update settings %d: %v", s.GetID(), err) @@ -2757,7 +2757,7 @@ func newResources() *Resources { serviceTwo.SetRepoID(1) serviceTwo.SetNumber(2) serviceTwo.SetName("clone") - serviceTwo.SetImage("target/vela-git:v0.3.0") + serviceTwo.SetImage("target/vela-git-slim:v0.12.0") serviceTwo.SetStatus("pending") serviceTwo.SetError("") serviceTwo.SetExitCode(0) @@ -2793,7 +2793,7 @@ func newResources() *Resources { stepTwo.SetRepoID(1) stepTwo.SetNumber(2) stepTwo.SetName("clone") - stepTwo.SetImage("target/vela-git:v0.3.0") + stepTwo.SetImage("target/vela-git-slim:v0.12.0") stepTwo.SetStage("init") stepTwo.SetStatus("pending") stepTwo.SetError("") diff --git a/database/settings/create_test.go b/database/settings/create_test.go index e621bf76e..c31df0847 100644 --- a/database/settings/create_test.go +++ b/database/settings/create_test.go @@ -14,7 +14,7 @@ func TestSettings_Engine_CreateSettings(t *testing.T) { // setup types _settings := testSettings() _settings.SetID(1) - _settings.SetCloneImage("target/vela-git:latest") + _settings.SetCloneImage("target/vela-git-slim:latest") _settings.SetTemplateDepth(10) _settings.SetStarlarkExecLimit(100) _settings.SetRoutes([]string{"vela"}) @@ -32,7 +32,7 @@ func TestSettings_Engine_CreateSettings(t *testing.T) { // ensure the mock expects the query _mock.ExpectQuery(`INSERT INTO "settings" ("compiler","queue","repo_allowlist","schedule_allowlist","created_at","updated_at","updated_by","id") VALUES ($1,$2,$3,$4,$5,$6,$7,$8) RETURNING "id"`). - WithArgs(`{"clone_image":{"String":"target/vela-git:latest","Valid":true},"template_depth":{"Int64":10,"Valid":true},"starlark_exec_limit":{"Int64":100,"Valid":true}}`, + WithArgs(`{"clone_image":{"String":"target/vela-git-slim:latest","Valid":true},"template_depth":{"Int64":10,"Valid":true},"starlark_exec_limit":{"Int64":100,"Valid":true}}`, `{"routes":["vela"]}`, `{"octocat/hello-world"}`, `{"*"}`, 1, 1, ``, 1). WillReturnRows(_rows) diff --git a/database/settings/get_test.go b/database/settings/get_test.go index 83196848b..40d64714a 100644 --- a/database/settings/get_test.go +++ b/database/settings/get_test.go @@ -16,7 +16,7 @@ func TestSettings_Engine_GetSettings(t *testing.T) { // setup types _settings := testSettings() _settings.SetID(1) - _settings.SetCloneImage("target/vela-git:latest") + _settings.SetCloneImage("target/vela-git-slim:latest") _settings.SetTemplateDepth(10) _settings.SetStarlarkExecLimit(100) _settings.SetRoutes([]string{"vela"}) @@ -32,7 +32,7 @@ func TestSettings_Engine_GetSettings(t *testing.T) { // create expected result in mock _rows := sqlmock.NewRows( []string{"id", "compiler", "queue", "repo_allowlist", "schedule_allowlist", "created_at", "updated_at", "updated_by"}). - AddRow(1, `{"clone_image":{"String":"target/vela-git:latest","Valid":true},"template_depth":{"Int64":10,"Valid":true},"starlark_exec_limit":{"Int64":100,"Valid":true}}`, + AddRow(1, `{"clone_image":{"String":"target/vela-git-slim:latest","Valid":true},"template_depth":{"Int64":10,"Valid":true},"starlark_exec_limit":{"Int64":100,"Valid":true}}`, `{"routes":["vela"]}`, `{"octocat/hello-world"}`, `{"*"}`, 1, 1, `octocat`) // ensure the mock expects the query diff --git a/database/settings/update_test.go b/database/settings/update_test.go index 7b9f31a38..b5ee38253 100644 --- a/database/settings/update_test.go +++ b/database/settings/update_test.go @@ -16,7 +16,7 @@ func TestSettings_Engine_UpdateSettings(t *testing.T) { // setup types _settings := testSettings() _settings.SetID(1) - _settings.SetCloneImage("target/vela-git:latest") + _settings.SetCloneImage("target/vela-git-slim:latest") _settings.SetTemplateDepth(10) _settings.SetStarlarkExecLimit(100) _settings.SetRoutes([]string{"vela", "large"}) @@ -31,7 +31,7 @@ func TestSettings_Engine_UpdateSettings(t *testing.T) { // ensure the mock expects the query _mock.ExpectExec(`UPDATE "settings" SET "compiler"=$1,"queue"=$2,"repo_allowlist"=$3,"schedule_allowlist"=$4,"created_at"=$5,"updated_at"=$6,"updated_by"=$7 WHERE "id" = $8`). - WithArgs(`{"clone_image":{"String":"target/vela-git:latest","Valid":true},"template_depth":{"Int64":10,"Valid":true},"starlark_exec_limit":{"Int64":100,"Valid":true}}`, + WithArgs(`{"clone_image":{"String":"target/vela-git-slim:latest","Valid":true},"template_depth":{"Int64":10,"Valid":true},"starlark_exec_limit":{"Int64":100,"Valid":true}}`, `{"routes":["vela","large"]}`, `{"octocat/hello-world"}`, `{"*"}`, 1, testutils.AnyArgument{}, "octocat", 1). WillReturnResult(sqlmock.NewResult(1, 1)) diff --git a/database/types/settings_test.go b/database/types/settings_test.go index 40285eb34..45b6b3c5e 100644 --- a/database/types/settings_test.go +++ b/database/types/settings_test.go @@ -58,7 +58,7 @@ func TestTypes_Platform_ToAPI(t *testing.T) { want.SetUpdatedBy("") want.Compiler = new(api.Compiler) - want.SetCloneImage("target/vela-git:latest") + want.SetCloneImage("target/vela-git-slim:latest") want.SetTemplateDepth(10) want.SetStarlarkExecLimit(100) @@ -98,7 +98,7 @@ func TestTypes_Platform_Validate(t *testing.T) { settings: &Platform{ ID: sql.NullInt64{Int64: 1, Valid: true}, Compiler: Compiler{ - CloneImage: sql.NullString{String: "target/vela-git:latest", Valid: true}, + CloneImage: sql.NullString{String: "target/vela-git-slim:latest", Valid: true}, StarlarkExecLimit: sql.NullInt64{Int64: 100, Valid: true}, }, }, @@ -108,7 +108,7 @@ func TestTypes_Platform_Validate(t *testing.T) { settings: &Platform{ ID: sql.NullInt64{Int64: 1, Valid: true}, Compiler: Compiler{ - CloneImage: sql.NullString{String: "target/vela-git:latest", Valid: true}, + CloneImage: sql.NullString{String: "target/vela-git-slim:latest", Valid: true}, TemplateDepth: sql.NullInt64{Int64: 10, Valid: true}, }, }, @@ -118,7 +118,7 @@ func TestTypes_Platform_Validate(t *testing.T) { settings: &Platform{ ID: sql.NullInt64{Int64: 1, Valid: true}, Compiler: Compiler{ - CloneImage: sql.NullString{String: "target/vela-git:latest", Valid: true}, + CloneImage: sql.NullString{String: "target/vela-git-slim:latest", Valid: true}, TemplateDepth: sql.NullInt64{Int64: 10, Valid: true}, StarlarkExecLimit: sql.NullInt64{Int64: 100, Valid: true}, }, @@ -156,7 +156,7 @@ func TestTypes_Platform_PlatformFromAPI(t *testing.T) { s.SetUpdatedBy("") s.Compiler = new(api.Compiler) - s.SetCloneImage("target/vela-git:latest") + s.SetCloneImage("target/vela-git-slim:latest") s.SetTemplateDepth(10) s.SetStarlarkExecLimit(100) @@ -179,7 +179,7 @@ func testPlatform() *Platform { return &Platform{ ID: sql.NullInt64{Int64: 1, Valid: true}, Compiler: Compiler{ - CloneImage: sql.NullString{String: "target/vela-git:latest", Valid: true}, + CloneImage: sql.NullString{String: "target/vela-git-slim:latest", Valid: true}, TemplateDepth: sql.NullInt64{Int64: 10, Valid: true}, StarlarkExecLimit: sql.NullInt64{Int64: 100, Valid: true}, }, diff --git a/mock/server/settings.go b/mock/server/settings.go index 07e5c9419..05d6f6368 100644 --- a/mock/server/settings.go +++ b/mock/server/settings.go @@ -17,7 +17,7 @@ const ( { "id": 1, "compiler": { - "clone_image": "target/vela-git", + "clone_image": "target/vela-git-slim", "template_depth": 3, "starlark_exec_limit": 100 }, @@ -42,7 +42,7 @@ const ( { "id": 1, "compiler": { - "clone_image": "target/vela-git:latest", + "clone_image": "target/vela-git-slim:latest", "template_depth": 5, "starlark_exec_limit": 123 }, @@ -67,7 +67,7 @@ const ( { "id": 1, "compiler": { - "clone_image": "target/vela-git:latest", + "clone_image": "target/vela-git-slim:latest", "template_depth": 5, "starlark_exec_limit": 123 }, diff --git a/router/middleware/compiler_test.go b/router/middleware/compiler_test.go index d018b06a9..962482d6b 100644 --- a/router/middleware/compiler_test.go +++ b/router/middleware/compiler_test.go @@ -20,8 +20,8 @@ import ( func TestMiddleware_CompilerNative(t *testing.T) { // setup types - defaultCloneImage := "target/vela-git" - wantCloneImage := "target/vela-git:latest" + defaultCloneImage := "target/vela-git-slim" + wantCloneImage := "target/vela-git-slim:latest" set := flag.NewFlagSet("", flag.ExitOnError) set.String("clone-image", defaultCloneImage, "doc") diff --git a/router/middleware/pipeline/pipeline_test.go b/router/middleware/pipeline/pipeline_test.go index 1408d0dea..28a6dc3c5 100644 --- a/router/middleware/pipeline/pipeline_test.go +++ b/router/middleware/pipeline/pipeline_test.go @@ -285,7 +285,7 @@ func TestPipeline_Establish_NoPipeline(t *testing.T) { } set := flag.NewFlagSet("test", 0) - set.String("clone-image", "target/vela-git:latest", "doc") + set.String("clone-image", "target/vela-git-slim:latest", "doc") comp, err := native.FromCLIContext(cli.NewContext(nil, set, nil)) if err != nil { diff --git a/router/middleware/settings/context_test.go b/router/middleware/settings/context_test.go index 0c17b4297..ca342024c 100644 --- a/router/middleware/settings/context_test.go +++ b/router/middleware/settings/context_test.go @@ -13,7 +13,7 @@ import ( func TestSettings_FromContext(t *testing.T) { // setup types num := int64(1) - cloneImage := "target/vela-git" + cloneImage := "target/vela-git-slim" cs := settings.Compiler{ CloneImage: &cloneImage, @@ -81,7 +81,7 @@ func TestSettings_FromContext_Empty(t *testing.T) { func TestSettings_ToContext(t *testing.T) { // setup types num := int64(1) - cloneImage := "target/vela-git" + cloneImage := "target/vela-git-slim" cs := settings.Compiler{ CloneImage: &cloneImage, diff --git a/router/middleware/settings_test.go b/router/middleware/settings_test.go index d0b5d2b58..70e212393 100644 --- a/router/middleware/settings_test.go +++ b/router/middleware/settings_test.go @@ -16,7 +16,7 @@ import ( func TestMiddleware_Settings(t *testing.T) { // setup types want := settings.PlatformMockEmpty() - want.SetCloneImage("target/vela-git") + want.SetCloneImage("target/vela-git-slim") got := settings.PlatformMockEmpty()