Skip to content

Commit ce9b048

Browse files
authored
feat(site): improve template publishing flow (#9346)
1 parent 80425c3 commit ce9b048

File tree

8 files changed

+399
-327
lines changed

8 files changed

+399
-327
lines changed

site/src/components/Alert/Alert.stories.tsx

+8
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,14 @@ const ExampleAction = (
1717
</Button>
1818
)
1919

20+
export const Success: Story = {
21+
args: {
22+
children: "You're doing great!",
23+
severity: "success",
24+
onRetry: undefined,
25+
},
26+
}
27+
2028
export const Warning: Story = {
2129
args: {
2230
children: "This is a warning",

site/src/components/TemplateVersionEditor/PublishTemplateVersionDialog.tsx

+10-4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@ import Checkbox from "@mui/material/Checkbox"
1111
import FormControlLabel from "@mui/material/FormControlLabel"
1212
import { Stack } from "components/Stack/Stack"
1313

14+
export const Language = {
15+
versionNameLabel: "Version name",
16+
messagePlaceholder: "Write a short message about the changes you made...",
17+
defaultCheckboxLabel: "Promote to default version",
18+
}
19+
1420
export type PublishTemplateVersionDialogProps = DialogProps & {
1521
defaultName: string
1622
isPublishing: boolean
@@ -33,7 +39,7 @@ export const PublishTemplateVersionDialog: FC<
3339
initialValues: {
3440
name: defaultName,
3541
message: "",
36-
isActiveVersion: false,
42+
isActiveVersion: true,
3743
},
3844
validationSchema: Yup.object({
3945
name: Yup.string().required(),
@@ -67,23 +73,23 @@ export const PublishTemplateVersionDialog: FC<
6773
<FormFields>
6874
<TextField
6975
{...getFieldHelpers("name")}
70-
label="Version name"
76+
label={Language.versionNameLabel}
7177
autoFocus
7278
disabled={isPublishing}
7379
/>
7480

7581
<TextField
7682
{...getFieldHelpers("message")}
7783
label="Message"
78-
placeholder="Write a short message about the changes you made..."
84+
placeholder={Language.messagePlaceholder}
7985
autoFocus
8086
disabled={isPublishing}
8187
multiline
8288
rows={5}
8389
/>
8490

8591
<FormControlLabel
86-
label="Promote to default version"
92+
label={Language.defaultCheckboxLabel}
8793
control={
8894
<Checkbox
8995
size="small"

site/src/components/TemplateVersionEditor/TemplateVersionEditor.stories.tsx

+8-309
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
MockTemplateVersion,
44
MockTemplateVersionFileTree,
55
MockWorkspaceBuildLogs,
6+
MockWorkspaceExtendedBuildLogs,
67
MockWorkspaceResource,
78
MockWorkspaceResource2,
89
MockWorkspaceResource3,
@@ -55,314 +56,12 @@ export const ManyLogs = {
5556
"template import provision for start: terraform plan: exit status 1",
5657
},
5758
},
58-
buildLogs: [
59-
{
60-
id: 938494,
61-
created_at: "2023-08-25T19:07:43.331Z",
62-
log_source: "provisioner_daemon",
63-
log_level: "info",
64-
stage: "Setting up",
65-
output: "",
66-
},
67-
{
68-
id: 938495,
69-
created_at: "2023-08-25T19:07:43.331Z",
70-
log_source: "provisioner_daemon",
71-
log_level: "info",
72-
stage: "Parsing template parameters",
73-
output: "",
74-
},
75-
{
76-
id: 938496,
77-
created_at: "2023-08-25T19:07:43.339Z",
78-
log_source: "provisioner_daemon",
79-
log_level: "info",
80-
stage: "Detecting persistent resources",
81-
output: "",
82-
},
83-
{
84-
id: 938497,
85-
created_at: "2023-08-25T19:07:44.15Z",
86-
log_source: "provisioner",
87-
log_level: "debug",
88-
stage: "Detecting persistent resources",
89-
output: "Initializing the backend...",
90-
},
91-
{
92-
id: 938498,
93-
created_at: "2023-08-25T19:07:44.215Z",
94-
log_source: "provisioner",
95-
log_level: "debug",
96-
stage: "Detecting persistent resources",
97-
output: "Initializing provider plugins...",
98-
},
99-
{
100-
id: 938499,
101-
created_at: "2023-08-25T19:07:44.216Z",
102-
log_source: "provisioner",
103-
log_level: "debug",
104-
stage: "Detecting persistent resources",
105-
output: '- Finding coder/coder versions matching "~> 0.11.0"...',
106-
},
107-
{
108-
id: 938500,
109-
created_at: "2023-08-25T19:07:44.668Z",
110-
log_source: "provisioner",
111-
log_level: "debug",
112-
stage: "Detecting persistent resources",
113-
output: '- Finding kreuzwerker/docker versions matching "~> 3.0.1"...',
114-
},
115-
{
116-
id: 938501,
117-
created_at: "2023-08-25T19:07:44.722Z",
118-
log_source: "provisioner",
119-
log_level: "debug",
120-
stage: "Detecting persistent resources",
121-
output: "- Using coder/coder v0.11.1 from the shared cache directory",
122-
},
123-
{
124-
id: 938502,
125-
created_at: "2023-08-25T19:07:44.857Z",
126-
log_source: "provisioner",
127-
log_level: "debug",
128-
stage: "Detecting persistent resources",
129-
output:
130-
"- Using kreuzwerker/docker v3.0.2 from the shared cache directory",
131-
},
132-
{
133-
id: 938503,
134-
created_at: "2023-08-25T19:07:45.081Z",
135-
log_source: "provisioner",
136-
log_level: "debug",
137-
stage: "Detecting persistent resources",
138-
output:
139-
"Terraform has created a lock file .terraform.lock.hcl to record the provider",
140-
},
141-
{
142-
id: 938504,
143-
created_at: "2023-08-25T19:07:45.081Z",
144-
log_source: "provisioner",
145-
log_level: "debug",
146-
stage: "Detecting persistent resources",
147-
output:
148-
"selections it made above. Include this file in your version control repository",
149-
},
150-
{
151-
id: 938505,
152-
created_at: "2023-08-25T19:07:45.081Z",
153-
log_source: "provisioner",
154-
log_level: "debug",
155-
stage: "Detecting persistent resources",
156-
output:
157-
"so that Terraform can guarantee to make the same selections by default when",
158-
},
159-
{
160-
id: 938506,
161-
created_at: "2023-08-25T19:07:45.082Z",
162-
log_source: "provisioner",
163-
log_level: "debug",
164-
stage: "Detecting persistent resources",
165-
output: 'you run "terraform init" in the future.',
166-
},
167-
{
168-
id: 938507,
169-
created_at: "2023-08-25T19:07:45.083Z",
170-
log_source: "provisioner",
171-
log_level: "debug",
172-
stage: "Detecting persistent resources",
173-
output: "Terraform has been successfully initialized!",
174-
},
175-
{
176-
id: 938508,
177-
created_at: "2023-08-25T19:07:45.084Z",
178-
log_source: "provisioner",
179-
log_level: "debug",
180-
stage: "Detecting persistent resources",
181-
output:
182-
'You may now begin working with Terraform. Try running "terraform plan" to see',
183-
},
184-
{
185-
id: 938509,
186-
created_at: "2023-08-25T19:07:45.084Z",
187-
log_source: "provisioner",
188-
log_level: "debug",
189-
stage: "Detecting persistent resources",
190-
output:
191-
"any changes that are required for your infrastructure. All Terraform commands",
192-
},
193-
{
194-
id: 938510,
195-
created_at: "2023-08-25T19:07:45.084Z",
196-
log_source: "provisioner",
197-
log_level: "debug",
198-
stage: "Detecting persistent resources",
199-
output: "should now work.",
200-
},
201-
{
202-
id: 938511,
203-
created_at: "2023-08-25T19:07:45.084Z",
204-
log_source: "provisioner",
205-
log_level: "debug",
206-
stage: "Detecting persistent resources",
207-
output:
208-
"If you ever set or change modules or backend configuration for Terraform,",
209-
},
210-
{
211-
id: 938512,
212-
created_at: "2023-08-25T19:07:45.084Z",
213-
log_source: "provisioner",
214-
log_level: "debug",
215-
stage: "Detecting persistent resources",
216-
output:
217-
"rerun this command to reinitialize your working directory. If you forget, other",
218-
},
219-
{
220-
id: 938513,
221-
created_at: "2023-08-25T19:07:45.084Z",
222-
log_source: "provisioner",
223-
log_level: "debug",
224-
stage: "Detecting persistent resources",
225-
output: "commands will detect it and remind you to do so if necessary.",
226-
},
227-
{
228-
id: 938514,
229-
created_at: "2023-08-25T19:07:45.143Z",
230-
log_source: "provisioner",
231-
log_level: "info",
232-
stage: "Detecting persistent resources",
233-
output: "Terraform 1.1.9",
234-
},
235-
{
236-
id: 938515,
237-
created_at: "2023-08-25T19:07:46.297Z",
238-
log_source: "provisioner",
239-
log_level: "warn",
240-
stage: "Detecting persistent resources",
241-
output: "Warning: Argument is deprecated",
242-
},
243-
{
244-
id: 938516,
245-
created_at: "2023-08-25T19:07:46.297Z",
246-
log_source: "provisioner",
247-
log_level: "warn",
248-
stage: "Detecting persistent resources",
249-
output: 'on devcontainer-on-docker.tf line 15, in provider "coder":',
250-
},
251-
{
252-
id: 938517,
253-
created_at: "2023-08-25T19:07:46.297Z",
254-
log_source: "provisioner",
255-
log_level: "warn",
256-
stage: "Detecting persistent resources",
257-
output: " 15: feature_use_managed_variables = true",
258-
},
259-
{
260-
id: 938518,
261-
created_at: "2023-08-25T19:07:46.297Z",
262-
log_source: "provisioner",
263-
log_level: "warn",
264-
stage: "Detecting persistent resources",
265-
output: "",
266-
},
267-
{
268-
id: 938519,
269-
created_at: "2023-08-25T19:07:46.297Z",
270-
log_source: "provisioner",
271-
log_level: "warn",
272-
stage: "Detecting persistent resources",
273-
output:
274-
"Terraform variables are now exclusively utilized for template-wide variables after the removal of support for legacy parameters.",
275-
},
276-
{
277-
id: 938520,
278-
created_at: "2023-08-25T19:07:46.3Z",
279-
log_source: "provisioner",
280-
log_level: "error",
281-
stage: "Detecting persistent resources",
282-
output: "Error: ephemeral parameter requires the default property",
283-
},
284-
{
285-
id: 938521,
286-
created_at: "2023-08-25T19:07:46.3Z",
287-
log_source: "provisioner",
288-
log_level: "error",
289-
stage: "Detecting persistent resources",
290-
output:
291-
'on devcontainer-on-docker.tf line 27, in data "coder_parameter" "another_one":',
292-
},
293-
{
294-
id: 938522,
295-
created_at: "2023-08-25T19:07:46.3Z",
296-
log_source: "provisioner",
297-
log_level: "error",
298-
stage: "Detecting persistent resources",
299-
output: ' 27: data "coder_parameter" "another_one" {',
300-
},
301-
{
302-
id: 938523,
303-
created_at: "2023-08-25T19:07:46.301Z",
304-
log_source: "provisioner",
305-
log_level: "error",
306-
stage: "Detecting persistent resources",
307-
output: "",
308-
},
309-
{
310-
id: 938524,
311-
created_at: "2023-08-25T19:07:46.301Z",
312-
log_source: "provisioner",
313-
log_level: "error",
314-
stage: "Detecting persistent resources",
315-
output: "",
316-
},
317-
{
318-
id: 938525,
319-
created_at: "2023-08-25T19:07:46.303Z",
320-
log_source: "provisioner",
321-
log_level: "warn",
322-
stage: "Detecting persistent resources",
323-
output: "Warning: Argument is deprecated",
324-
},
325-
{
326-
id: 938526,
327-
created_at: "2023-08-25T19:07:46.303Z",
328-
log_source: "provisioner",
329-
log_level: "warn",
330-
stage: "Detecting persistent resources",
331-
output: 'on devcontainer-on-docker.tf line 15, in provider "coder":',
332-
},
333-
{
334-
id: 938527,
335-
created_at: "2023-08-25T19:07:46.303Z",
336-
log_source: "provisioner",
337-
log_level: "warn",
338-
stage: "Detecting persistent resources",
339-
output: " 15: feature_use_managed_variables = true",
340-
},
341-
{
342-
id: 938528,
343-
created_at: "2023-08-25T19:07:46.303Z",
344-
log_source: "provisioner",
345-
log_level: "warn",
346-
stage: "Detecting persistent resources",
347-
output: "",
348-
},
349-
{
350-
id: 938529,
351-
created_at: "2023-08-25T19:07:46.303Z",
352-
log_source: "provisioner",
353-
log_level: "warn",
354-
stage: "Detecting persistent resources",
355-
output:
356-
"Terraform variables are now exclusively utilized for template-wide variables after the removal of support for legacy parameters.",
357-
},
358-
{
359-
id: 938530,
360-
created_at: "2023-08-25T19:07:46.311Z",
361-
log_source: "provisioner_daemon",
362-
log_level: "info",
363-
stage: "Cleaning Up",
364-
output: "",
365-
},
366-
],
59+
buildLogs: MockWorkspaceExtendedBuildLogs,
60+
},
61+
}
62+
63+
export const Published = {
64+
args: {
65+
publishedVersion: MockTemplateVersion,
36766
},
36867
}

0 commit comments

Comments
 (0)