From aed3a2358355e1b80e5882bbc6a5b5b8c7539c4e Mon Sep 17 00:00:00 2001 From: Mateusz Szostok Date: Mon, 17 Jul 2023 13:21:22 +0200 Subject: [PATCH 1/2] Remove custom install for brew formula --- .goreleaser.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index f51472245..b69a12d2c 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -161,8 +161,6 @@ brews: - name: botkube ids: - botkube-cli - install: - bin.install "botkube" tap: owner: "{{.Env.HOMEBREW_REPO_OWNER}}" name: "{{.Env.HOMEBREW_REPO_NAME}}" From ed82f89e06556b62bd49619dd67e599b185963dc Mon Sep 17 00:00:00 2001 From: Mateusz Szostok Date: Mon, 17 Jul 2023 13:35:06 +0200 Subject: [PATCH 2/2] Fix helm output formatting --- internal/executor/helm/executor.go | 8 ++-- internal/executor/helm/executor_test.go | 8 +++- .../testdata/TestExecutorHelmInstallHelp.txt | 48 +++++-------------- 3 files changed, 22 insertions(+), 42 deletions(-) diff --git a/internal/executor/helm/executor.go b/internal/executor/helm/executor.go index 9dd6fc448..08dbb444c 100644 --- a/internal/executor/helm/executor.go +++ b/internal/executor/helm/executor.go @@ -152,12 +152,12 @@ func (e *Executor) Execute(ctx context.Context, in executor.ExecuteInput) (execu return e.handleHelmCommand(ctx, helmCmd.Get.Values, cfg, wasHelpRequested, in.Command, kubeConfigPath) default: return executor.ExecuteOutput{ - Data: helmCmd.Get.Help(), + Message: api.NewCodeBlockMessage(helmCmd.Get.Help(), true), }, nil } default: return executor.ExecuteOutput{ - Data: "Helm command not supported", + Message: api.NewCodeBlockMessage("Helm command not supported", true), }, nil } } @@ -171,7 +171,7 @@ func (*Executor) Help(context.Context) (api.Message, error) { func (e *Executor) handleHelmCommand(ctx context.Context, cmd command, cfg Config, wasHelpRequested bool, rawCmd, kubeConfig string) (executor.ExecuteOutput, error) { if wasHelpRequested { return executor.ExecuteOutput{ - Data: cmd.Help(), + Message: api.NewCodeBlockMessage(cmd.Help(), true), }, nil } @@ -193,7 +193,7 @@ func (e *Executor) handleHelmCommand(ctx context.Context, cmd command, cfg Confi } return executor.ExecuteOutput{ - Message: api.NewPlaintextMessage(out.Stdout, true), + Message: api.NewCodeBlockMessage(out.Stdout, true), }, nil } diff --git a/internal/executor/helm/executor_test.go b/internal/executor/helm/executor_test.go index 3e5e8de15..e7003697f 100644 --- a/internal/executor/helm/executor_test.go +++ b/internal/executor/helm/executor_test.go @@ -2,6 +2,7 @@ package helm import ( "context" + "encoding/json" "fmt" "testing" @@ -79,7 +80,7 @@ func TestExecutorHelmInstall(t *testing.T) { // then require.NoError(t, err) - assert.Equal(t, api.NewPlaintextMessage(execOutput.Stdout, true), out.Message) + assert.Equal(t, api.NewCodeBlockMessage(execOutput.Stdout, true), out.Message) assert.Equal(t, tc.expCommand, gotCmd) @@ -174,7 +175,10 @@ func TestExecutorHelmInstallHelp(t *testing.T) { // then require.NoError(t, err) - golden.Assert(t, out.Data, goldenFilepath) + gotOut, err := json.MarshalIndent(out.Message, "", " ") + require.NoError(t, err) + + golden.AssertBytes(t, gotOut, goldenFilepath) }) } } diff --git a/internal/executor/helm/testdata/TestExecutorHelmInstallHelp.txt b/internal/executor/helm/testdata/TestExecutorHelmInstallHelp.txt index 3e0fff315..f1158e742 100644 --- a/internal/executor/helm/testdata/TestExecutorHelmInstallHelp.txt +++ b/internal/executor/helm/testdata/TestExecutorHelmInstallHelp.txt @@ -1,36 +1,12 @@ -Installs a chart archive. - -There are two different ways you to install a Helm chart: -1. By absolute URL: helm install mynginx https://example.com/charts/nginx-1.2.3.tgz -2. By chart reference and repo url: helm install --repo https://example.com/charts/ mynginx nginx - -Usage: - helm install [NAME] [CHART] [flags] - -Flags: - --create-namespace - --generate-name,-g - --dependency-update - --description - --devel - --disable-openapi-validation - --dry-run - --insecure-skip-tls-verify - --name-template - --no-hooks - --pass-credentials - --password - --post-renderer - --post-renderer-args - --render-subchart-notes - --replace - --repo - --set - --set-json - --set-string - --skip-crds - --timeout - --username - --verify - --version - -o,--output +{ + "Type": "baseBodyWithFilter", + "BaseBody": { + "CodeBlock": "Installs a chart archive.\n\nThere are two different ways you to install a Helm chart:\n1. By absolute URL: helm install mynginx https://example.com/charts/nginx-1.2.3.tgz\n2. By chart reference and repo url: helm install --repo https://example.com/charts/ mynginx nginx\n\nUsage:\n helm install [NAME] [CHART] [flags]\n\nFlags:\n --create-namespace\n --generate-name,-g\n --dependency-update\n --description\n --devel\n --disable-openapi-validation\n --dry-run\n --insecure-skip-tls-verify\n --name-template\n --no-hooks\n --pass-credentials\n --password\n --post-renderer\n --post-renderer-args\n --render-subchart-notes\n --replace\n --repo\n --set\n --set-json\n --set-string\n --skip-crds\n --timeout\n --username\n --verify\n --version\n -o,--output\n", + "Plaintext": "" + }, + "Timestamp": "0001-01-01T00:00:00Z", + "Sections": null, + "PlaintextInputs": null, + "OnlyVisibleForYou": false, + "ReplaceOriginal": false +} \ No newline at end of file