Skip to content

Commit bd50c9f

Browse files
committed
Merge branch 'main' into workspacepage
2 parents 6044d91 + 4103ba0 commit bd50c9f

File tree

25 files changed

+574
-180
lines changed

25 files changed

+574
-180
lines changed

.github/workflows/coder.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ jobs:
172172
key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
173173

174174
- name: Install goreleaser
175-
uses: jaxxstorm/action-install-gh-release@v1.5.0
175+
uses: jaxxstorm/action-install-gh-release@v1.6.0
176176
env:
177177
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
178178
with:
@@ -241,7 +241,7 @@ jobs:
241241
key: ${{ runner.os }}-go-mod-${{ hashFiles('**/go.sum') }}
242242

243243
- name: Install goreleaser
244-
uses: jaxxstorm/action-install-gh-release@v1.5.0
244+
uses: jaxxstorm/action-install-gh-release@v1.6.0
245245
env:
246246
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
247247
with:

.github/workflows/release.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
DOCKER_CLI_EXPERIMENTAL: "enabled"
1414
steps:
1515
# Docker is not included on macos-latest
16-
- uses: docker-practice/actions-setup-docker@v1.0.8
16+
- uses: docker-practice/actions-setup-docker@1.0.10
1717

1818
- uses: actions/checkout@v3
1919
with:
@@ -23,7 +23,7 @@ jobs:
2323
uses: docker/setup-qemu-action@v2
2424

2525
- name: Docker Login
26-
uses: docker/login-action@v1
26+
uses: docker/login-action@v2
2727
with:
2828
registry: ghcr.io
2929
username: ${{ github.repository_owner }}

cli/login.go

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -168,28 +168,31 @@ func login() *cobra.Command {
168168
return nil
169169
}
170170

171-
authURL := *serverURL
172-
authURL.Path = serverURL.Path + "/cli-auth"
173-
if err := openURL(cmd, authURL.String()); err != nil {
174-
_, _ = fmt.Fprintf(cmd.OutOrStdout(), "Open the following in your browser:\n\n\t%s\n\n", authURL.String())
175-
} else {
176-
_, _ = fmt.Fprintf(cmd.OutOrStdout(), "Your browser has been opened to visit:\n\n\t%s\n\n", authURL.String())
177-
}
171+
sessionToken, _ := cmd.Flags().GetString(varToken)
172+
if sessionToken == "" {
173+
authURL := *serverURL
174+
authURL.Path = serverURL.Path + "/cli-auth"
175+
if err := openURL(cmd, authURL.String()); err != nil {
176+
_, _ = fmt.Fprintf(cmd.OutOrStdout(), "Open the following in your browser:\n\n\t%s\n\n", authURL.String())
177+
} else {
178+
_, _ = fmt.Fprintf(cmd.OutOrStdout(), "Your browser has been opened to visit:\n\n\t%s\n\n", authURL.String())
179+
}
178180

179-
sessionToken, err := cliui.Prompt(cmd, cliui.PromptOptions{
180-
Text: "Paste your token here:",
181-
Secret: true,
182-
Validate: func(token string) error {
183-
client.SessionToken = token
184-
_, err := client.User(cmd.Context(), codersdk.Me)
185-
if err != nil {
186-
return xerrors.New("That's not a valid token!")
187-
}
188-
return err
189-
},
190-
})
191-
if err != nil {
192-
return xerrors.Errorf("paste token prompt: %w", err)
181+
sessionToken, err = cliui.Prompt(cmd, cliui.PromptOptions{
182+
Text: "Paste your token here:",
183+
Secret: true,
184+
Validate: func(token string) error {
185+
client.SessionToken = token
186+
_, err := client.User(cmd.Context(), codersdk.Me)
187+
if err != nil {
188+
return xerrors.New("That's not a valid token!")
189+
}
190+
return err
191+
},
192+
})
193+
if err != nil {
194+
return xerrors.Errorf("paste token prompt: %w", err)
195+
}
193196
}
194197

195198
// Login to get user data - verify it is OK before persisting

cli/login_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,16 @@ func TestLogin(t *testing.T) {
140140
cancelFunc()
141141
<-doneChan
142142
})
143+
144+
t.Run("TokenFlag", func(t *testing.T) {
145+
t.Parallel()
146+
client := coderdtest.New(t, nil)
147+
coderdtest.CreateFirstUser(t, client)
148+
root, cfg := clitest.New(t, "login", client.URL.String(), "--token", client.SessionToken)
149+
err := root.Execute()
150+
require.NoError(t, err)
151+
sessionFile, err := cfg.Session().Read()
152+
require.NoError(t, err)
153+
require.Equal(t, client.SessionToken, sessionFile)
154+
})
143155
}

cli/root.go

Lines changed: 55 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -182,21 +182,68 @@ func usageTemplate() string {
182182
// Customizes the color of headings to make subcommands
183183
// more visually appealing.
184184
header := cliui.Styles.Placeholder
185+
cobra.AddTemplateFunc("usageHeader", func(s string) string {
186+
return header.Render(s)
187+
})
185188

186-
return `{{if .HasExample}}` + header.Render("Get Started:") + `
189+
return `{{usageHeader "Usage:"}}
190+
{{- if .Runnable}}
191+
{{.UseLine}}
192+
{{end}}
193+
{{- if .HasAvailableSubCommands}}
194+
{{.CommandPath}} [command]
195+
{{end}}
196+
197+
{{- if gt (len .Aliases) 0}}
198+
{{usageHeader "Aliases:"}}
199+
{{.NameAndAliases}}
200+
{{end}}
201+
202+
{{- if .HasExample}}
203+
{{usageHeader "Get Started:"}}
187204
{{.Example}}
205+
{{end}}
206+
207+
{{- if .HasAvailableSubCommands}}
208+
{{usageHeader "Commands:"}}
209+
{{- range .Commands}}
210+
{{- if (or (and .IsAvailableCommand (eq (len .Annotations) 0)) (eq .Name "help"))}}
211+
{{rpad .Name .NamePadding }} {{.Short}}
212+
{{- end}}
213+
{{- end}}
214+
{{end}}
215+
216+
{{- if and (not .HasParent) .HasAvailableSubCommands}}
217+
{{usageHeader "Workspace Commands:"}}
218+
{{- range .Commands}}
219+
{{- if (and .IsAvailableCommand (ne (index .Annotations "workspaces") ""))}}
220+
{{rpad .Name .NamePadding }} {{.Short}}
221+
{{- end}}
222+
{{- end}}
223+
{{end}}
188224
189-
{{end}}{{if .HasAvailableLocalFlags}}` + header.Render("Flags:") + `
190-
{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableSubCommands}}
225+
{{- if .HasAvailableLocalFlags}}
226+
{{usageHeader "Flags:"}}
227+
{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}
228+
{{end}}
191229
192-
` + header.Render("Commands:") + `{{range .Commands}}{{if and .IsAvailableCommand (eq (len .Annotations) 0)}}
193-
{{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if not .HasParent }}
230+
{{- if .HasAvailableInheritedFlags}}
231+
{{usageHeader "Global Flags:"}}
232+
{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}
233+
{{end}}
194234
195-
` + header.Render("Workspace Commands:") + `{{range .Commands}}{{if and .IsAvailableCommand (ne (index .Annotations "workspaces") "")}}
196-
{{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}
235+
{{- if .HasHelpSubCommands}}
236+
{{usageHeader "Additional help topics:"}}
237+
{{- range .Commands}}
238+
{{- if .IsAdditionalHelpTopicCommand}}
239+
{{rpad .CommandPath .CommandPathPadding}} {{.Short}}
240+
{{- end}}
241+
{{- end}}
242+
{{end}}
197243
244+
{{- if .HasAvailableSubCommands}}
198245
Use "{{.CommandPath}} [command] --help" for more information about a command.
199-
`
246+
{{end}}`
200247
}
201248

202249
func versionTemplate() string {
Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
#!/usr/bin/env bash
22

3+
# Usage:
4+
# ./create_migration name of migration
5+
# ./create_migration "name of migration"
6+
# ./create_migration name_of_migration
7+
38
set -euo pipefail
49

510
cd "$(dirname "$0")"
611

7-
if [ -z "$1" ]; then
8-
echo "First argument is the migration name!"
9-
exit 1
10-
fi
12+
# if migration name is an empty string exit
13+
[[ -z "${*}" ]] && (echo "Must provide a migration name" && exit 1)
14+
15+
# " " && "-" -> "_"
16+
title="$(echo "${@}" | tr "[:upper:]" "[:lower:]" | sed -E -e "s/( |-)/_/g")"
1117

12-
migrate create -ext sql -dir . -seq "$1"
18+
migrate create -ext sql -dir . -seq "$title"
1319

1420
echo "Run \"make gen\" to generate models."

0 commit comments

Comments
 (0)