Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1320b8d

Browse files
jaaydenhEmyrkblink-so[bot]
authored
feat: make dynamic parameters opt-in by default for new templates (#19006)
resolves#18975 ---------Co-authored-by: Steven Masley <stevenmasley@gmail.com>Co-authored-by: blink-so[bot] <211532188+blink-so[bot]@users.noreply.github.com>
1 parentfaac753 commit1320b8d

File tree

35 files changed

+476
-91
lines changed

35 files changed

+476
-91
lines changed

‎cli/restart.go‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,17 @@ func (r *RootCmd) restart() *serpent.Command {
5151
returnerr
5252
}
5353

54+
stopParamValues,err:=asWorkspaceBuildParameters(parameterFlags.ephemeralParameters)
55+
iferr!=nil {
56+
returnxerrors.Errorf("parse ephemeral parameters: %w",err)
57+
}
5458
wbr:= codersdk.CreateWorkspaceBuildRequest{
5559
Transition:codersdk.WorkspaceTransitionStop,
60+
// Ephemeral parameters should be passed to both stop and start builds.
61+
// TODO: maybe these values should be sourced from the previous build?
62+
// It has to be manually sourced, as ephemeral parameters do not carry across
63+
// builds.
64+
RichParameterValues:stopParamValues,
5665
}
5766
ifbflags.provisionerLogDebug {
5867
wbr.LogLevel=codersdk.ProvisionerLogLevelDebug

‎cli/restart_test.go‎

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010

1111
"github.com/coder/coder/v2/cli/clitest"
1212
"github.com/coder/coder/v2/coderd/coderdtest"
13+
"github.com/coder/coder/v2/coderd/util/ptr"
1314
"github.com/coder/coder/v2/codersdk"
1415
"github.com/coder/coder/v2/provisioner/echo"
1516
"github.com/coder/coder/v2/provisionersdk/proto"
@@ -70,8 +71,14 @@ func TestRestart(t *testing.T) {
7071
member,memberUser:=coderdtest.CreateAnotherUser(t,client,owner.OrganizationID)
7172
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,echoResponses())
7273
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
73-
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID)
74-
workspace:=coderdtest.CreateWorkspace(t,member,template.ID)
74+
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID,func(request*codersdk.CreateTemplateRequest) {
75+
request.UseClassicParameterFlow=ptr.Ref(true)// TODO: Remove when dynamic parameters prompt missing ephemeral parameters.
76+
})
77+
workspace:=coderdtest.CreateWorkspace(t,member,template.ID,func(request*codersdk.CreateWorkspaceRequest) {
78+
request.RichParameterValues= []codersdk.WorkspaceBuildParameter{
79+
{Name:ephemeralParameterName,Value:"placeholder"},
80+
}
81+
})
7582
coderdtest.AwaitWorkspaceBuildJobCompleted(t,client,workspace.LatestBuild.ID)
7683

7784
inv,root:=clitest.New(t,"restart",workspace.Name,"--prompt-ephemeral-parameters")
@@ -125,7 +132,11 @@ func TestRestart(t *testing.T) {
125132
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,echoResponses())
126133
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
127134
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID)
128-
workspace:=coderdtest.CreateWorkspace(t,member,template.ID)
135+
workspace:=coderdtest.CreateWorkspace(t,member,template.ID,func(request*codersdk.CreateWorkspaceRequest) {
136+
request.RichParameterValues= []codersdk.WorkspaceBuildParameter{
137+
{Name:ephemeralParameterName,Value:"placeholder"},
138+
}
139+
})
129140
coderdtest.AwaitWorkspaceBuildJobCompleted(t,client,workspace.LatestBuild.ID)
130141

131142
inv,root:=clitest.New(t,"restart",workspace.Name,
@@ -178,8 +189,14 @@ func TestRestart(t *testing.T) {
178189
member,memberUser:=coderdtest.CreateAnotherUser(t,client,owner.OrganizationID)
179190
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,echoResponses())
180191
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
181-
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID)
182-
workspace:=coderdtest.CreateWorkspace(t,member,template.ID)
192+
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID,func(request*codersdk.CreateTemplateRequest) {
193+
request.UseClassicParameterFlow=ptr.Ref(true)// TODO: Remove when dynamic parameters prompts missing ephemeral parameters
194+
})
195+
workspace:=coderdtest.CreateWorkspace(t,member,template.ID,func(request*codersdk.CreateWorkspaceRequest) {
196+
request.RichParameterValues= []codersdk.WorkspaceBuildParameter{
197+
{Name:ephemeralParameterName,Value:"placeholder"},
198+
}
199+
})
183200
coderdtest.AwaitWorkspaceBuildJobCompleted(t,client,workspace.LatestBuild.ID)
184201

185202
inv,root:=clitest.New(t,"restart",workspace.Name,"--build-options")
@@ -233,7 +250,11 @@ func TestRestart(t *testing.T) {
233250
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,echoResponses())
234251
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
235252
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID)
236-
workspace:=coderdtest.CreateWorkspace(t,member,template.ID)
253+
workspace:=coderdtest.CreateWorkspace(t,member,template.ID,func(request*codersdk.CreateWorkspaceRequest) {
254+
request.RichParameterValues= []codersdk.WorkspaceBuildParameter{
255+
{Name:ephemeralParameterName,Value:"placeholder"},
256+
}
257+
})
237258
coderdtest.AwaitWorkspaceBuildJobCompleted(t,client,workspace.LatestBuild.ID)
238259

239260
inv,root:=clitest.New(t,"restart",workspace.Name,

‎cli/start_test.go‎

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,18 @@ func TestStart(t *testing.T) {
113113
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,echoResponses())
114114
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
115115
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID)
116-
workspace:=coderdtest.CreateWorkspace(t,member,template.ID)
116+
workspace:=coderdtest.CreateWorkspace(t,member,template.ID,func(request*codersdk.CreateWorkspaceRequest) {
117+
request.RichParameterValues= []codersdk.WorkspaceBuildParameter{
118+
{Name:ephemeralParameterName,Value:"foo"},// Value is required, set it to something
119+
}
120+
})
117121
coderdtest.AwaitWorkspaceBuildJobCompleted(t,client,workspace.LatestBuild.ID)
118122
// Stop the workspace
119-
workspaceBuild:=coderdtest.CreateWorkspaceBuild(t,client,workspace,database.WorkspaceTransitionStop)
123+
workspaceBuild:=coderdtest.CreateWorkspaceBuild(t,client,workspace,database.WorkspaceTransitionStop,func(request*codersdk.CreateWorkspaceBuildRequest) {
124+
request.RichParameterValues= []codersdk.WorkspaceBuildParameter{
125+
{Name:ephemeralParameterName,Value:"foo"},// Value is required, set it to something
126+
}
127+
})
120128
coderdtest.AwaitWorkspaceBuildJobCompleted(t,client,workspaceBuild.ID)
121129

122130
inv,root:=clitest.New(t,"start",workspace.Name,"--prompt-ephemeral-parameters")
@@ -167,10 +175,18 @@ func TestStart(t *testing.T) {
167175
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,echoResponses())
168176
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
169177
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID)
170-
workspace:=coderdtest.CreateWorkspace(t,member,template.ID)
178+
workspace:=coderdtest.CreateWorkspace(t,member,template.ID,func(request*codersdk.CreateWorkspaceRequest) {
179+
request.RichParameterValues= []codersdk.WorkspaceBuildParameter{
180+
{Name:ephemeralParameterName,Value:"foo"},// Value is required, set it to something
181+
}
182+
})
171183
coderdtest.AwaitWorkspaceBuildJobCompleted(t,client,workspace.LatestBuild.ID)
172184
// Stop the workspace
173-
workspaceBuild:=coderdtest.CreateWorkspaceBuild(t,client,workspace,database.WorkspaceTransitionStop)
185+
workspaceBuild:=coderdtest.CreateWorkspaceBuild(t,client,workspace,database.WorkspaceTransitionStop,func(request*codersdk.CreateWorkspaceBuildRequest) {
186+
request.RichParameterValues= []codersdk.WorkspaceBuildParameter{
187+
{Name:ephemeralParameterName,Value:"foo"},// Value is required, set it to something
188+
}
189+
})
174190
coderdtest.AwaitWorkspaceBuildJobCompleted(t,client,workspaceBuild.ID)
175191

176192
inv,root:=clitest.New(t,"start",workspace.Name,

‎cli/templatepush_test.go‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,7 @@ func TestTemplatePush(t *testing.T) {
509509
default = "1"
510510
}
511511
data "coder_parameter" "b" {
512+
name = "b"
512513
type = string
513514
default = "2"
514515
}

‎cli/testdata/coder_list_--output_json.golden‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"template_allow_user_cancel_workspace_jobs": false,
1616
"template_active_version_id": "============[version ID]============",
1717
"template_require_active_version": false,
18-
"template_use_classic_parameter_flow":true,
18+
"template_use_classic_parameter_flow":false,
1919
"latest_build": {
2020
"id": "========[workspace build ID]========",
2121
"created_at": "====[timestamp]=====",

‎cli/update_test.go‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ func TestUpdateWithRichParameters(t *testing.T) {
182182
{Name:firstParameterName,Description:firstParameterDescription,Mutable:true},
183183
{Name:immutableParameterName,Description:immutableParameterDescription,Mutable:false},
184184
{Name:secondParameterName,Description:secondParameterDescription,Mutable:true},
185-
{Name:ephemeralParameterName,Description:ephemeralParameterDescription,Mutable:true,Ephemeral:true},
185+
{Name:ephemeralParameterName,Description:ephemeralParameterDescription,Mutable:true,Ephemeral:true,DefaultValue:"unset"},
186186
})
187187
}
188188

@@ -811,7 +811,9 @@ func TestUpdateValidateRichParameters(t *testing.T) {
811811
}
812812
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,prepareEchoResponses(templateParameters))
813813
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)
814-
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID)
814+
template:=coderdtest.CreateTemplate(t,client,owner.OrganizationID,version.ID,func(request*codersdk.CreateTemplateRequest) {
815+
request.UseClassicParameterFlow=ptr.Ref(true)// TODO: Remove when dynamic parameters can pass this test
816+
})
815817

816818
// Create new workspace
817819
inv,root:=clitest.New(t,"create","my-workspace","--yes","--template",template.Name,"--parameter",fmt.Sprintf("%s=%s",numberParameterName,tempVal))

‎coderd/database/dbgen/dbgen.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ func Template(t testing.TB, db database.Store, seed database.Template) database.
147147
DisplayName:takeFirst(seed.DisplayName,testutil.GetRandomName(t)),
148148
AllowUserCancelWorkspaceJobs:seed.AllowUserCancelWorkspaceJobs,
149149
MaxPortSharingLevel:takeFirst(seed.MaxPortSharingLevel,database.AppSharingLevelOwner),
150-
UseClassicParameterFlow:takeFirst(seed.UseClassicParameterFlow,true),
150+
UseClassicParameterFlow:takeFirst(seed.UseClassicParameterFlow,false),
151151
})
152152
require.NoError(t,err,"insert template")
153153

‎coderd/database/dump.sql‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTERTABLE templates ALTER COLUMN use_classic_parameter_flowSET DEFAULT true;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTERTABLE templates ALTER COLUMN use_classic_parameter_flowSET DEFAULT false;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp