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

Commit2dc72b6

Browse files
committed
chore: terraform provisioners enabled in e2e by default
Opt out supported for "lite" tests. Environment checking happensto verify terraform + docker exist before running.
1 parent487f0a8 commit2dc72b6

File tree

3 files changed

+40
-3
lines changed

3 files changed

+40
-3
lines changed

‎site/e2e/constants.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ export const requireEnterpriseTests = Boolean(
3939
);
4040
exportconstenterpriseLicense=process.env.CODER_E2E_ENTERPRISE_LICENSE??"";
4141

42+
// Disabling terraform tests is optional for environments without Docker + Terraform.
43+
// By default, we opt into these tests.
44+
exportconstrequireTerraformTests=!Boolean(
45+
process.env.CODER_E2E_DISABLE_TERRAFORM,
46+
);
47+
4248
// Fake experiments to verify that site presents them as enabled.
4349
exportconste2eFakeExperiment1="e2e-fake-experiment-1";
4450
exportconste2eFakeExperiment2="e2e-fake-experiment-2";

‎site/e2e/helpers.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
coderPort,
1919
enterpriseLicense,
2020
prometheusPort,
21-
requireEnterpriseTests,
21+
requireEnterpriseTests,requireTerraformTests,
2222
}from"./constants";
2323
import{expectUrl}from"./expectUrl";
2424
import{
@@ -43,6 +43,16 @@ export function requiresEnterpriseLicense() {
4343
test.skip(!enterpriseLicense);
4444
}
4545

46+
// requiresTerraform by default is enabled.
47+
exportfunctionrequiresTerraform(){
48+
if(requireTerraformTests){
49+
return;
50+
}
51+
52+
test.skip(!requireTerraformTests);
53+
}
54+
55+
4656
// createWorkspace creates a workspace for a template.
4757
// It does not wait for it to be running, but it does navigate to the page.
4858
exportconstcreateWorkspace=async(

‎site/e2e/playwright.config.ts

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,34 @@ import {
66
coderdPProfPort,
77
e2eFakeExperiment1,
88
e2eFakeExperiment2,
9-
gitAuth,
9+
gitAuth,requireTerraformTests,
1010
}from"./constants";
11+
import{execSync}from"child_process";
12+
import{requiresTerraform}from"./helpers";
1113

1214
exportconstwsEndpoint=process.env.CODER_E2E_WS_ENDPOINT;
1315

1416
// This is where auth cookies are stored!
1517
exportconststorageState=path.join(__dirname,".auth.json");
1618

19+
if(requireTerraformTests){
20+
try{
21+
// If running terraform tests, verify the requirements exist in the
22+
// environment.
23+
//
24+
// These execs will throw an error if the status code is non-zero.
25+
// So if both these work, then we can launch terraform provisioners.
26+
constterraformExec=execSync('terraform --version')
27+
constdockerExec=execSync('dockser --version')
28+
}catch(e){
29+
thrownewError("Terraform provisioners require docker & terraform. "+
30+
"At least one of these is not present in the runtime environment. To check yourself:\n"+
31+
"\tterraform --version\n"+
32+
"\tdocker --version")
33+
}
34+
}
35+
36+
1737
constlocalURL=(port:number,path:string):string=>{
1838
return`http://localhost:${port}${path}`;
1939
};
@@ -60,7 +80,8 @@ export default defineConfig({
6080
"--dangerous-disable-rate-limits",
6181
"--provisioner-daemons 10",
6282
// TODO: Enable some terraform provisioners
63-
"--provisioner-types=echo",
83+
`--provisioner-types=echo${requireTerraformTests ?",terraform":""}`,
84+
`--provisioner-daemons=10`,
6485
"--web-terminal-renderer=dom",
6586
"--pprof-enable",
6687
]

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp