( page: Page, organization: string, templateName: string, responses?: EchoProvisionerResponses, )
| 1114 | }; |
| 1115 | |
| 1116 | export const updateTemplate = async ( |
| 1117 | page: Page, |
| 1118 | organization: string, |
| 1119 | templateName: string, |
| 1120 | responses?: EchoProvisionerResponses, |
| 1121 | ) => { |
| 1122 | const tarball = await createTemplateVersionTar(responses); |
| 1123 | |
| 1124 | const sessionToken = await findSessionToken(page); |
| 1125 | const child = spawn( |
| 1126 | coderBinary, |
| 1127 | [ |
| 1128 | "templates", |
| 1129 | "push", |
| 1130 | "--test.provisioner", |
| 1131 | "echo", |
| 1132 | "-y", |
| 1133 | "-d", |
| 1134 | "-", |
| 1135 | "-O", |
| 1136 | organization, |
| 1137 | templateName, |
| 1138 | ], |
| 1139 | { |
| 1140 | env: { |
| 1141 | ...process.env, |
| 1142 | CODER_SESSION_TOKEN: sessionToken, |
| 1143 | CODER_URL: `http://localhost:${coderPort}`, |
| 1144 | }, |
| 1145 | }, |
| 1146 | ); |
| 1147 | |
| 1148 | const uploaded = new Awaiter(); |
| 1149 | |
| 1150 | child.on("exit", (code) => { |
| 1151 | if (code === 0) { |
| 1152 | uploaded.done(); |
| 1153 | return; |
| 1154 | } |
| 1155 | |
| 1156 | throw new Error(`coder templates push failed with code ${code}`); |
| 1157 | }); |
| 1158 | |
| 1159 | child.stdin.write(tarball); |
| 1160 | child.stdin.end(); |
| 1161 | |
| 1162 | await uploaded.wait(); |
| 1163 | }; |
| 1164 | |
| 1165 | export const updateTemplateSettings = async ( |
| 1166 | page: Page, |
no test coverage detected