From e03add8340a51aa1e51d9e5269b42951a1a3e713 Mon Sep 17 00:00:00 2001 From: Nikolay Edigaryev Date: Wed, 29 Jan 2025 17:46:51 +0400 Subject: [PATCH] Propagate additional clone and pull environment to "tart clone" too (#102) * Propagate additional clone and pull environment to "tart clone" too * Fix linter warnings --- .golangci.yml | 5 ----- internal/commands/prepare/prepare.go | 6 ++++-- internal/tart/vm.go | 7 +++++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index fe44ecd..b6943c3 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -19,8 +19,6 @@ linters: - dupl - errcheck - exhaustive - - exportloopref - - exportloopref - gochecknoinits - gocognit - goconst @@ -97,9 +95,6 @@ linters: # [1]: https://github.com/mgechev/revive/issues/244#issuecomment-560512162 - revive - # Unfortunately too much false-positives, e.g. for a 0700 umask or number 10 when using strconv.FormatInt() - - gomnd - # Needs package whitelists - depguard diff --git a/internal/commands/prepare/prepare.go b/internal/commands/prepare/prepare.go index 34ef1ec..809ebe7 100644 --- a/internal/commands/prepare/prepare.go +++ b/internal/commands/prepare/prepare.go @@ -101,6 +101,8 @@ func runPrepareVM(cmd *cobra.Command, args []string) error { return err } + additionalCloneAndPullEnv := additionalPullEnv(gitLabEnv.Registry) + if config.AlwaysPull { log.Printf("Pulling the latest version of %s...\n", gitLabEnv.JobImage) @@ -115,7 +117,7 @@ func runPrepareVM(cmd *cobra.Command, args []string) error { strconv.FormatUint(uint64(config.PullConcurrency), 10)) } - _, _, err := tart.TartExecWithEnv(cmd.Context(), additionalPullEnv(gitLabEnv.Registry), pullArgs...) + _, _, err := tart.TartExecWithEnv(cmd.Context(), additionalCloneAndPullEnv, pullArgs...) if err != nil { return err } @@ -123,7 +125,7 @@ func runPrepareVM(cmd *cobra.Command, args []string) error { log.Println("Cloning and configuring a new VM...") vm, err := tart.CreateNewVM(cmd.Context(), gitLabEnv.VirtualMachineID(), gitLabEnv.JobImage, - config, cpuOverride, memoryOverride) + config, cpuOverride, memoryOverride, additionalCloneAndPullEnv) if err != nil { return err } diff --git a/internal/tart/vm.go b/internal/tart/vm.go index 50d73a8..b086cf2 100644 --- a/internal/tart/vm.go +++ b/internal/tart/vm.go @@ -53,12 +53,14 @@ func CreateNewVM( config Config, cpuOverride uint64, memoryOverride uint64, + additionalCloneAndPullEnv map[string]string, ) (*VM, error) { vm := &VM{ id: name, } - if err := vm.cloneAndConfigure(ctx, image, config, cpuOverride, memoryOverride); err != nil { + if err := vm.cloneAndConfigure(ctx, image, config, cpuOverride, memoryOverride, + additionalCloneAndPullEnv); err != nil { return nil, fmt.Errorf("failed to clone the VM: %w", err) } @@ -71,6 +73,7 @@ func (vm *VM) cloneAndConfigure( config Config, cpuOverride uint64, memoryOverride uint64, + additionalCloneAndPullEnv map[string]string, ) error { cloneArgs := []string{"clone", image, vm.id} @@ -83,7 +86,7 @@ func (vm *VM) cloneAndConfigure( strconv.FormatUint(uint64(config.PullConcurrency), 10)) } - _, _, err := TartExec(ctx, cloneArgs...) + _, _, err := TartExecWithEnv(ctx, additionalCloneAndPullEnv, cloneArgs...) if err != nil { return err }