From 31a7d04ac7eb97200c113e5349447dd5d613c18e Mon Sep 17 00:00:00 2001 From: decleaver <85503726+decleaver@users.noreply.github.com> Date: Mon, 8 Apr 2024 12:50:25 -0600 Subject: [PATCH] feat: `uds dev deploy` beta note, packages flag, skip sbom (#557) --- adr/0004-tui.md | 2 +- src/cmd/dev.go | 3 +++ src/config/lang/lang.go | 3 ++- src/pkg/bundle/dev.go | 2 +- src/test/e2e/commands_test.go | 9 ++++++++- src/test/e2e/dev_test.go | 4 ++-- 6 files changed, 17 insertions(+), 6 deletions(-) diff --git a/adr/0004-tui.md b/adr/0004-tui.md index cdf3502b..9bf57947 100644 --- a/adr/0004-tui.md +++ b/adr/0004-tui.md @@ -1,4 +1,4 @@ -# 3. Terminal User Interface (TUI) +# 4. Terminal User Interface (TUI) Date: 22 March 2024 diff --git a/src/cmd/dev.go b/src/cmd/dev.go index 232c4eb1..765cd701 100644 --- a/src/cmd/dev.go +++ b/src/cmd/dev.go @@ -24,6 +24,7 @@ var devDeployCmd = &cobra.Command{ Use: "deploy", Args: cobra.MaximumNArgs(1), Short: lang.CmdDevDeployShort, + Long: lang.CmdDevDeployLong, PreRun: func(_ *cobra.Command, args []string) { setBundleFile(args) }, @@ -44,6 +45,7 @@ var devDeployCmd = &cobra.Command{ config.CommonOptions.Confirm = true bundleCfg.CreateOpts.SourceDirectory = srcDir + configureZarf() // load uds-config if it exists @@ -78,4 +80,5 @@ func init() { initViper() rootCmd.AddCommand(devCmd) devCmd.AddCommand(devDeployCmd) + devDeployCmd.Flags().StringArrayVarP(&bundleCfg.DeployOpts.Packages, "packages", "p", []string{}, lang.CmdBundleDeployFlagPackages) } diff --git a/src/config/lang/lang.go b/src/config/lang/lang.go index 42eb1786..7d132bc3 100644 --- a/src/config/lang/lang.go +++ b/src/config/lang/lang.go @@ -83,5 +83,6 @@ const ( // uds dev CmdDevShort = "Commands useful for developing bundles" - CmdDevDeployShort = "Creates and deploys a dev UDS bundle from a given directory" + CmdDevDeployShort = "[beta] Creates and deploys a UDS bundle from a given directory in dev mode" + CmdDevDeployLong = "[beta] Creates and deploys a UDS bundle from a given directory in dev mode, setting package options like YOLO mode for faster iteration." ) diff --git a/src/pkg/bundle/dev.go b/src/pkg/bundle/dev.go index a93f35ee..69625414 100644 --- a/src/pkg/bundle/dev.go +++ b/src/pkg/bundle/dev.go @@ -47,7 +47,7 @@ func (b *Bundle) CreateZarfPkgs() { } // create local zarf package if it doesn't exist if !packageFound { - os.Args = []string{"zarf", "package", "create", path, "--confirm", "-o", path} + os.Args = []string{"zarf", "package", "create", path, "--confirm", "-o", path, "--skip-sbom"} zarfCLI.Execute() if err != nil { message.Fatalf(err, "Failed to create package %s: %s", pkg.Name, err.Error()) diff --git a/src/test/e2e/commands_test.go b/src/test/e2e/commands_test.go index 4a0984ef..896aeb4c 100644 --- a/src/test/e2e/commands_test.go +++ b/src/test/e2e/commands_test.go @@ -120,7 +120,14 @@ func deployWithTUI(t *testing.T, source string) (stdout string, stderr string) { } func devDeploy(t *testing.T, tarballPath string) (stdout string, stderr string) { - cmd := strings.Split(fmt.Sprintf("dev deploy %s --no-tea", tarballPath), " ") + cmd := strings.Split(fmt.Sprintf("dev deploy %s", tarballPath), " ") + stdout, stderr, err := e2e.UDS(cmd...) + require.NoError(t, err) + return stdout, stderr +} + +func devDeployPackages(t *testing.T, tarballPath string, packages string) (stdout string, stderr string) { + cmd := strings.Split(fmt.Sprintf("dev deploy %s --packages %s", tarballPath, packages), " ") stdout, stderr, err := e2e.UDS(cmd...) require.NoError(t, err) return stdout, stderr diff --git a/src/test/e2e/dev_test.go b/src/test/e2e/dev_test.go index f2b39fc4..c01fe8dd 100644 --- a/src/test/e2e/dev_test.go +++ b/src/test/e2e/dev_test.go @@ -41,11 +41,11 @@ func TestDevDeploy(t *testing.T) { bundleDir := "src/test/bundles/03-local-and-remote" bundlePath := filepath.Join(bundleDir, fmt.Sprintf("uds-bundle-test-local-and-remote-%s-0.0.1.tar.zst", e2e.Arch)) - devDeploy(t, bundleDir) + devDeployPackages(t, bundleDir, "podinfo") deployments, _, _ := e2e.UDS(cmd...) require.Contains(t, deployments, "podinfo") - require.Contains(t, deployments, "nginx") + require.NotContains(t, deployments, "nginx") remove(t, bundlePath) })