From 3f0ee7072f3d2f6e1617a6a9da5c99785913d2b4 Mon Sep 17 00:00:00 2001 From: aiordache Date: Fri, 26 Mar 2021 18:13:39 +0100 Subject: [PATCH] Add `no-cache` build flag Signed-off-by: aiordache --- api/compose/api.go | 2 ++ cli/cmd/compose/build.go | 8 ++++++++ local/compose/build.go | 1 + 3 files changed, 11 insertions(+) diff --git a/api/compose/api.go b/api/compose/api.go index ba043532..b9915767 100644 --- a/api/compose/api.go +++ b/api/compose/api.go @@ -82,6 +82,8 @@ type BuildOptions struct { Progress string // Args set build-time args Args types.Mapping + // NoCache disables cache use + NoCache bool } // CreateOptions group options of the Create API diff --git a/cli/cmd/compose/build.go b/cli/cmd/compose/build.go index f62ce428..24fba7e0 100644 --- a/cli/cmd/compose/build.go +++ b/cli/cmd/compose/build.go @@ -35,6 +35,8 @@ type buildOptions struct { pull bool progress string args []string + noCache bool + memory string } func buildCommand(p *projectOptions) *cobra.Command { @@ -65,6 +67,11 @@ func buildCommand(p *projectOptions) *cobra.Command { cmd.Flags().MarkHidden("compress") //nolint:errcheck cmd.Flags().Bool("force-rm", true, "Always remove intermediate containers. DEPRECATED") cmd.Flags().MarkHidden("force-rm") //nolint:errcheck + cmd.Flags().BoolVar(&opts.noCache, "no-cache", false, "Do not use cache when building the image") + cmd.Flags().Bool("no-rm", false, "Do not remove intermediate containers after a successful build. DEPRECATED") + cmd.Flags().MarkHidden("no-rm") //nolint:errcheck + cmd.Flags().StringVarP(&opts.memory, "memory", "m", "", "Set memory limit for the build container. DEPRECATED") + cmd.Flags().MarkHidden("memory") //nolint:errcheck return cmd } @@ -85,6 +92,7 @@ func runBuild(ctx context.Context, opts buildOptions, services []string) error { Pull: opts.pull, Progress: opts.progress, Args: types.NewMapping(opts.args), + NoCache: opts.noCache, }) }) return err diff --git a/local/compose/build.go b/local/compose/build.go index 56cafd70..da5c34b2 100644 --- a/local/compose/build.go +++ b/local/compose/build.go @@ -50,6 +50,7 @@ func (s *composeService) Build(ctx context.Context, project *types.Project, opti } buildOptions.Pull = options.Pull buildOptions.BuildArgs = options.Args + buildOptions.NoCache = options.NoCache opts[imageName] = buildOptions buildOptions.CacheFrom, err = build.ParseCacheEntry(service.Build.CacheFrom) if err != nil {