Skip to content

Commit 44d0427

Browse files
committed
Add CI secrets set value fallback
1 parent 5027657 commit 44d0427

2 files changed

Lines changed: 23 additions & 11 deletions

File tree

pkg/cmd/ci/ci_test.go

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package ci
33
import (
44
"testing"
55

6+
"github.com/spf13/cobra"
67
"github.com/spf13/pflag"
78
)
89

@@ -44,14 +45,19 @@ func TestCICommandRegistration(t *testing.T) {
4445
}
4546

4647
func TestSecretsAddKeepsHiddenValueFlagForCompatibility(t *testing.T) {
47-
cmd := NewCmdSecretsAdd()
48-
49-
valueFlag := cmd.Flags().Lookup("value")
50-
if valueFlag == nil {
51-
t.Fatal("expected hidden --value compatibility flag")
52-
}
53-
if !valueFlag.Hidden {
54-
t.Fatal("expected --value to stay hidden from help")
48+
for name, cmd := range map[string]*cobra.Command{
49+
"secrets add": NewCmdSecretsAdd(),
50+
"secrets set": NewCmdSecretsSet(),
51+
} {
52+
t.Run(name, func(t *testing.T) {
53+
valueFlag := cmd.Flags().Lookup("value")
54+
if valueFlag == nil {
55+
t.Fatal("expected hidden --value compatibility flag")
56+
}
57+
if !valueFlag.Hidden {
58+
t.Fatal("expected --value to stay hidden from help")
59+
}
60+
})
5561
}
5662
}
5763

pkg/cmd/ci/secrets.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ func NewCmdSecretsSet() *cobra.Command {
6262
var (
6363
orgID string
6464
token string
65+
value string
6566
description string
6667
repo []string
6768
environment []string
@@ -112,9 +113,12 @@ named "default".`,
112113
return fmt.Errorf("secret name cannot be empty")
113114
}
114115

115-
secretValue, err := helpers.SecretValueFromInput(fmt.Sprintf("Enter value for secret '%s': ", secretName))
116-
if err != nil {
117-
return fmt.Errorf("failed to read secret value: %w", err)
116+
secretValue := value
117+
if secretValue == "" {
118+
secretValue, err = helpers.SecretValueFromInput(fmt.Sprintf("Enter value for secret '%s': ", secretName))
119+
if err != nil {
120+
return fmt.Errorf("failed to read secret value: %w", err)
121+
}
118122
}
119123

120124
result, err := api.CISetSecretVariant(ctx, tokenVal, orgID, api.CISetSecretVariantOptions{
@@ -138,11 +142,13 @@ named "default".`,
138142

139143
cmd.Flags().StringVar(&orgID, "org", "", "Organization ID (required when user is a member of multiple organizations)")
140144
cmd.Flags().StringVar(&token, "token", "", "Depot API token")
145+
cmd.Flags().StringVar(&value, "value", "", "Secret value (deprecated; prefer stdin)")
141146
cmd.Flags().StringVar(&description, "description", "", "Description of the secret variant")
142147
cmd.Flags().StringArrayVar(&repo, "repo", nil, "Apply variant to a repository (repeatable, e.g. owner/repo)")
143148
cmd.Flags().StringArrayVar(&environment, "env", nil, "Apply variant to an environment (repeatable)")
144149
cmd.Flags().StringArrayVar(&branch, "branch", nil, "Apply variant to a branch (repeatable)")
145150
cmd.Flags().StringArrayVar(&workflow, "workflow", nil, "Apply variant to a workflow file (repeatable)")
151+
_ = cmd.Flags().MarkHidden("value")
146152

147153
return cmd
148154
}

0 commit comments

Comments
 (0)