Skip to content

Commit 1767a70

Browse files
authored
Merge branch 'main' into matifali/pr-deployment-namespace-access
2 parents 57567e4 + 967a4b0 commit 1767a70

File tree

127 files changed

+3699
-1432
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+3699
-1432
lines changed

.github/actions/setup-tf/action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ runs:
77
- name: Install Terraform
88
uses: hashicorp/setup-terraform@v2
99
with:
10-
terraform_version: ~1.5
10+
terraform_version: 1.5.5
1111
terraform_wrapper: false

.prettierignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ scaletest/terraform/secrets.tfvars
6767
# .prettierignore.include:
6868
# Helm templates contain variables that are invalid YAML and can't be formatted
6969
# by Prettier.
70-
helm/templates/*.yaml
70+
helm/**/templates/*.yaml
7171

7272
# Terraform state files used in tests, these are automatically generated.
7373
# Example: provisioner/terraform/testdata/instance-id/instance-id.tfstate.json

.prettierignore.include

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Helm templates contain variables that are invalid YAML and can't be formatted
22
# by Prettier.
3-
helm/templates/*.yaml
3+
helm/**/templates/*.yaml
44

55
# Terraform state files used in tests, these are automatically generated.
66
# Example: provisioner/terraform/testdata/instance-id/instance-id.tfstate.json

Makefile

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ coderd/apidoc/swagger.json: $(shell find ./scripts/apidocgen $(FIND_EXCLUSIONS)
553553
./scripts/apidocgen/generate.sh
554554
pnpm run format:write:only ./docs/api ./docs/manifest.json ./coderd/apidoc/swagger.json
555555

556-
update-golden-files: cli/testdata/.gen-golden helm/tests/testdata/.gen-golden scripts/ci-report/testdata/.gen-golden enterprise/cli/testdata/.gen-golden
556+
update-golden-files: cli/testdata/.gen-golden helm/coder/tests/testdata/.gen-golden helm/provisioner/tests/testdata/.gen-golden scripts/ci-report/testdata/.gen-golden enterprise/cli/testdata/.gen-golden
557557
.PHONY: update-golden-files
558558

559559
cli/testdata/.gen-golden: $(wildcard cli/testdata/*.golden) $(wildcard cli/*.tpl) $(GO_SRC_FILES) $(wildcard cli/*_test.go)
@@ -564,8 +564,12 @@ enterprise/cli/testdata/.gen-golden: $(wildcard enterprise/cli/testdata/*.golden
564564
go test ./enterprise/cli -run="TestEnterpriseCommandHelp" -update
565565
touch "$@"
566566

567-
helm/tests/testdata/.gen-golden: $(wildcard helm/tests/testdata/*.yaml) $(wildcard helm/tests/testdata/*.golden) $(GO_SRC_FILES) $(wildcard helm/tests/*_test.go)
568-
go test ./helm/tests -run=TestUpdateGoldenFiles -update
567+
helm/coder/tests/testdata/.gen-golden: $(wildcard helm/coder/tests/testdata/*.yaml) $(wildcard helm/coder/tests/testdata/*.golden) $(GO_SRC_FILES) $(wildcard helm/coder/tests/*_test.go)
568+
go test ./helm/coder/tests -run=TestUpdateGoldenFiles -update
569+
touch "$@"
570+
571+
helm/provisioner/tests/testdata/.gen-golden: $(wildcard helm/provisioner/tests/testdata/*.yaml) $(wildcard helm/provisioner/tests/testdata/*.golden) $(GO_SRC_FILES) $(wildcard helm/provisioner/tests/*_test.go)
572+
go test ./helm/provisioner/tests -run=TestUpdateGoldenFiles -update
569573
touch "$@"
570574

571575
scripts/ci-report/testdata/.gen-golden: $(wildcard scripts/ci-report/testdata/*) $(wildcard scripts/ci-report/*.go)

cli/clibase/cmd.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import (
1414
"golang.org/x/exp/slices"
1515
"golang.org/x/xerrors"
1616
"gopkg.in/yaml.v3"
17+
18+
"github.com/coder/coder/coderd/util/slice"
1719
)
1820

1921
// Cmd describes an executable command.
@@ -102,11 +104,11 @@ func (c *Cmd) PrepareAll() error {
102104
}
103105
}
104106

105-
slices.SortFunc(c.Options, func(a, b Option) bool {
106-
return a.Name < b.Name
107+
slices.SortFunc(c.Options, func(a, b Option) int {
108+
return slice.Ascending(a.Name, b.Name)
107109
})
108-
slices.SortFunc(c.Children, func(a, b *Cmd) bool {
109-
return a.Name() < b.Name()
110+
slices.SortFunc(c.Children, func(a, b *Cmd) int {
111+
return slice.Ascending(a.Name(), b.Name())
110112
})
111113
for _, child := range c.Children {
112114
child.Parent = c

cli/configssh.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424

2525
"github.com/coder/coder/cli/clibase"
2626
"github.com/coder/coder/cli/cliui"
27+
"github.com/coder/coder/coderd/util/slice"
2728
"github.com/coder/coder/codersdk"
2829
)
2930

@@ -367,8 +368,8 @@ func (r *RootCmd) configSSH() *clibase.Cmd {
367368
}
368369

369370
// Ensure stable sorting of output.
370-
slices.SortFunc(workspaceConfigs, func(a, b sshWorkspaceConfig) bool {
371-
return a.Name < b.Name
371+
slices.SortFunc(workspaceConfigs, func(a, b sshWorkspaceConfig) int {
372+
return slice.Ascending(a.Name, b.Name)
372373
})
373374
for _, wc := range workspaceConfigs {
374375
sort.Strings(wc.Hosts)

cli/create.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/coder/coder/cli/clibase"
1414
"github.com/coder/coder/cli/cliui"
1515
"github.com/coder/coder/coderd/util/ptr"
16+
"github.com/coder/coder/coderd/util/slice"
1617
"github.com/coder/coder/codersdk"
1718
)
1819

@@ -81,8 +82,8 @@ func (r *RootCmd) create() *clibase.Cmd {
8182
return err
8283
}
8384

84-
slices.SortFunc(templates, func(a, b codersdk.Template) bool {
85-
return a.ActiveUserCount > b.ActiveUserCount
85+
slices.SortFunc(templates, func(a, b codersdk.Template) int {
86+
return slice.Descending(a.ActiveUserCount, b.ActiveUserCount)
8687
})
8788

8889
templateNames := make([]string, 0, len(templates))

cli/parameterresolver.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -77,46 +77,46 @@ func (pr *ParameterResolver) Resolve(inv *clibase.Invocation, action WorkspaceCL
7777
}
7878

7979
func (pr *ParameterResolver) resolveWithParametersMapFile(resolved []codersdk.WorkspaceBuildParameter) []codersdk.WorkspaceBuildParameter {
80+
next:
8081
for name, value := range pr.richParametersFile {
8182
for i, r := range resolved {
8283
if r.Name == name {
8384
resolved[i].Value = value
84-
goto done
85+
continue next
8586
}
8687
}
8788

8889
resolved = append(resolved, codersdk.WorkspaceBuildParameter{
8990
Name: name,
9091
Value: value,
9192
})
92-
done:
9393
}
9494
return resolved
9595
}
9696

9797
func (pr *ParameterResolver) resolveWithCommandLineOrEnv(resolved []codersdk.WorkspaceBuildParameter) []codersdk.WorkspaceBuildParameter {
98+
nextRichParameter:
9899
for _, richParameter := range pr.richParameters {
99100
for i, r := range resolved {
100101
if r.Name == richParameter.Name {
101102
resolved[i].Value = richParameter.Value
102-
goto richParameterDone
103+
continue nextRichParameter
103104
}
104105
}
105106

106107
resolved = append(resolved, richParameter)
107-
richParameterDone:
108108
}
109109

110+
nextBuildOption:
110111
for _, buildOption := range pr.buildOptions {
111112
for i, r := range resolved {
112113
if r.Name == buildOption.Name {
113114
resolved[i].Value = buildOption.Value
114-
goto buildOptionDone
115+
continue nextBuildOption
115116
}
116117
}
117118

118119
resolved = append(resolved, buildOption)
119-
buildOptionDone:
120120
}
121121
return resolved
122122
}
@@ -126,6 +126,7 @@ func (pr *ParameterResolver) resolveWithLastBuildParameters(resolved []codersdk.
126126
return resolved // don't pull parameters from last build
127127
}
128128

129+
next:
129130
for _, buildParameter := range pr.lastBuildParameters {
130131
tvp := findTemplateVersionParameter(buildParameter, templateVersionParameters)
131132
if tvp == nil {
@@ -143,12 +144,11 @@ func (pr *ParameterResolver) resolveWithLastBuildParameters(resolved []codersdk.
143144
for i, r := range resolved {
144145
if r.Name == buildParameter.Name {
145146
resolved[i].Value = buildParameter.Value
146-
goto done
147+
continue next
147148
}
148149
}
149150

150151
resolved = append(resolved, buildParameter)
151-
done:
152152
}
153153
return resolved
154154
}
@@ -160,7 +160,7 @@ func (pr *ParameterResolver) verifyConstraints(resolved []codersdk.WorkspaceBuil
160160
return xerrors.Errorf("parameter %q is not present in the template", r.Name)
161161
}
162162

163-
if tvp.Ephemeral && !pr.promptBuildOptions && len(pr.buildOptions) == 0 {
163+
if tvp.Ephemeral && !pr.promptBuildOptions && findWorkspaceBuildParameter(tvp.Name, pr.buildOptions) == nil {
164164
return xerrors.Errorf("ephemeral parameter %q can be used only with --build-options or --build-option flag", r.Name)
165165
}
166166

@@ -173,12 +173,12 @@ func (pr *ParameterResolver) verifyConstraints(resolved []codersdk.WorkspaceBuil
173173

174174
func (pr *ParameterResolver) resolveWithInput(resolved []codersdk.WorkspaceBuildParameter, inv *clibase.Invocation, action WorkspaceCLIAction, templateVersionParameters []codersdk.TemplateVersionParameter) ([]codersdk.WorkspaceBuildParameter, error) {
175175
for _, tvp := range templateVersionParameters {
176-
p := findWorkspaceBuildParameter(tvp, resolved)
176+
p := findWorkspaceBuildParameter(tvp.Name, resolved)
177177
if p != nil {
178178
continue
179179
}
180180

181-
firstTimeUse := pr.isFirstTimeUse(tvp)
181+
firstTimeUse := pr.isFirstTimeUse(tvp.Name)
182182

183183
if (tvp.Ephemeral && pr.promptBuildOptions) ||
184184
tvp.Required ||
@@ -201,8 +201,8 @@ func (pr *ParameterResolver) resolveWithInput(resolved []codersdk.WorkspaceBuild
201201
return resolved, nil
202202
}
203203

204-
func (pr *ParameterResolver) isFirstTimeUse(tvp codersdk.TemplateVersionParameter) bool {
205-
return findWorkspaceBuildParameter(tvp, pr.lastBuildParameters) == nil
204+
func (pr *ParameterResolver) isFirstTimeUse(parameterName string) bool {
205+
return findWorkspaceBuildParameter(parameterName, pr.lastBuildParameters) == nil
206206
}
207207

208208
func findTemplateVersionParameter(workspaceBuildParameter codersdk.WorkspaceBuildParameter, templateVersionParameters []codersdk.TemplateVersionParameter) *codersdk.TemplateVersionParameter {
@@ -214,9 +214,9 @@ func findTemplateVersionParameter(workspaceBuildParameter codersdk.WorkspaceBuil
214214
return nil
215215
}
216216

217-
func findWorkspaceBuildParameter(tvp codersdk.TemplateVersionParameter, params []codersdk.WorkspaceBuildParameter) *codersdk.WorkspaceBuildParameter {
217+
func findWorkspaceBuildParameter(parameterName string, params []codersdk.WorkspaceBuildParameter) *codersdk.WorkspaceBuildParameter {
218218
for _, p := range params {
219-
if p.Name == tvp.Name {
219+
if p.Name == parameterName {
220220
return &p
221221
}
222222
}

cli/server_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1309,6 +1309,7 @@ func TestServer(t *testing.T) {
13091309
"--in-memory",
13101310
"--http-address", ":0",
13111311
"--access-url", "http://example.com",
1312+
"--provisioner-daemons-echo",
13121313
"--log-human", fiName,
13131314
)
13141315
clitest.Start(t, root)
@@ -1326,6 +1327,7 @@ func TestServer(t *testing.T) {
13261327
"--in-memory",
13271328
"--http-address", ":0",
13281329
"--access-url", "http://example.com",
1330+
"--provisioner-daemons-echo",
13291331
"--log-human", fi,
13301332
)
13311333
clitest.Start(t, root)
@@ -1343,6 +1345,7 @@ func TestServer(t *testing.T) {
13431345
"--in-memory",
13441346
"--http-address", ":0",
13451347
"--access-url", "http://example.com",
1348+
"--provisioner-daemons-echo",
13461349
"--log-json", fi,
13471350
)
13481351
clitest.Start(t, root)
@@ -1363,6 +1366,7 @@ func TestServer(t *testing.T) {
13631366
"--in-memory",
13641367
"--http-address", ":0",
13651368
"--access-url", "http://example.com",
1369+
"--provisioner-daemons-echo",
13661370
"--log-stackdriver", fi,
13671371
)
13681372
// Attach pty so we get debug output from the command if this test
@@ -1397,6 +1401,7 @@ func TestServer(t *testing.T) {
13971401
"--in-memory",
13981402
"--http-address", ":0",
13991403
"--access-url", "http://example.com",
1404+
"--provisioner-daemons-echo",
14001405
"--log-human", fi1,
14011406
"--log-json", fi2,
14021407
"--log-stackdriver", fi3,

0 commit comments

Comments
 (0)