@@ -18,7 +18,6 @@ command_type: system
18
18
pre_error_fails_task : true
19
19
include :
20
20
- filename : build/ci/release.yml
21
- - filename : build/ci/evergreen_common.yml
22
21
23
22
variables :
24
23
- &go_linux_version
@@ -50,6 +49,165 @@ post:
50
49
- command : attach.xunit_results
51
50
params :
52
51
files : ["src/github.com/mongodb/mongodb-atlas-cli/*.xml"]
52
+ functions :
53
+ " clone " :
54
+ - command : git.get_project
55
+ type : setup
56
+ params :
57
+ directory : src/github.com/mongodb/mongodb-atlas-cli
58
+ " build " :
59
+ - command : subprocess.exec
60
+ type : test
61
+ params :
62
+ << : *go_options
63
+ command : make build
64
+ " install mongodb database tools " :
65
+ - command : shell.exec
66
+ type : setup
67
+ params :
68
+ << : *go_options
69
+ working_dir : src/github.com/mongodb/mongodb-atlas-cli/bin
70
+ shell : bash
71
+ env :
72
+ << : *go_env
73
+ MONGODB_DATABASE_TOOLS_VERSION : 100.10.0
74
+ script : |
75
+ set -Eeou pipefail
76
+ if [[ "$(uname -s)" == "Darwin"* ]]; then
77
+ curl -sLo mongodb-database-tools.zip "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-macos-arm64-$MONGODB_DATABASE_TOOLS_VERSION.zip"
78
+ unzip mongodb-database-tools.zip
79
+ mv mongodb-database-tools-*/bin/* .
80
+ rm -rf mongodb-database-tools-* mongodb-database-tools.zip
81
+ else
82
+ mkdir -p mongodb-database-tools
83
+ curl -sfL "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-$MONGODB_DATABASE_TOOLS_VERSION.tgz" | tar zx -C mongodb-database-tools --strip-components 1
84
+ mv mongodb-database-tools/bin/* .
85
+ rm -rf mongodb-database-tools
86
+ fi
87
+ " e2e test " :
88
+ - command : subprocess.exec
89
+ type : test
90
+ params :
91
+ << : *go_options
92
+ include_expansions_in_env :
93
+ - go_base_path
94
+ - workdir
95
+ - MCLI_ORG_ID
96
+ - MCLI_PROJECT_ID
97
+ - MCLI_PRIVATE_API_KEY
98
+ - MCLI_PUBLIC_API_KEY
99
+ - MCLI_SERVICE
100
+ - TEST_CMD
101
+ - E2E_TAGS
102
+ - E2E_TEST_BUCKET
103
+ - E2E_CLOUD_ROLE_ID
104
+ - MCLI_OPS_MANAGER_URL
105
+ - OM_VERSION
106
+ - LOCAL_KEY
107
+ - KMIP_CA
108
+ - KMIP_CERT
109
+ - GCP_CREDENTIALS
110
+ - AWS_ACCESS_KEY
111
+ - AWS_SECRET_ACCESS_KEY
112
+ - AZURE_TENANT_ID
113
+ - AZURE_CLIENT_ID
114
+ - AZURE_CLIENT_SECRET
115
+ - E2E_TIMEOUT
116
+ - E2E_SERVERLESS_INSTANCE_NAME
117
+ - E2E_PARALLEL
118
+ - IDENTITY_PROVIDER_ID
119
+ - revision
120
+ env :
121
+ << : *go_env
122
+ MCLI_SKIP_UPDATE_CHECK : " yes"
123
+ TEST_CMD : gotestsum --junitfile e2e-tests.xml --format standard-verbose --
124
+ command : make e2e-test
125
+ " install gotestsum " :
126
+ - command : shell.exec
127
+ type : setup
128
+ params :
129
+ << : *go_options
130
+ working_dir : src/github.com/mongodb/mongodb-atlas-cli/bin
131
+ shell : bash
132
+ script : |
133
+ set -Eeou pipefail
134
+ export PATH="$ADD_PATH:$PATH"
135
+ if [[ "$(uname -s)" == "Darwin"* ]]; then
136
+ URL=https://github.com/gotestyourself/gotestsum/releases/download/v${gotestsum_ver}/gotestsum_${gotestsum_ver}_darwin_arm64.tar.gz
137
+ else
138
+ URL=https://github.com/gotestyourself/gotestsum/releases/download/v${gotestsum_ver}/gotestsum_${gotestsum_ver}_linux_amd64.tar.gz
139
+ fi
140
+ curl -sfL $URL | tar zx
141
+ " generate evergreen " :
142
+ - command : subprocess.exec
143
+ type : test
144
+ params :
145
+ << : *go_options
146
+ include_expansions_in_env :
147
+ - go_base_path
148
+ - workdir
149
+ - task_type
150
+ binary : build/ci/evergreen-generate-tasks.sh
151
+ - command : s3.put
152
+ params :
153
+ aws_key : ${aws_key}
154
+ aws_secret : ${aws_secret}
155
+ local_files_include_filter :
156
+ - src/github.com/mongodb/mongodb-atlas-cli/tasks.json
157
+ remote_file : ${project}/dist/${revision}_${created_at}/atlascli/${task_type}/
158
+ bucket : mongodb-mongocli-build
159
+ permissions : public-read
160
+ content_type : ${content_type|application/json}
161
+ display_name : internal-bucket
162
+ - command : generate.tasks
163
+ params :
164
+ files :
165
+ - tasks.json
166
+ " increase inotify limits " :
167
+ - command : shell.exec
168
+ params :
169
+ shell : bash
170
+ script : |
171
+ set -e
172
+ if [[ "$(uname -s)" == "Darwin"* ]]; then
173
+ echo "No need to increase inotify limits on macOS"
174
+ else
175
+ cat /proc/sys/fs/inotify/max_user_watches
176
+ cat /proc/sys/fs/inotify/max_user_instances
177
+ echo 1024 | sudo tee /proc/sys/fs/inotify/max_user_instances
178
+ cat /proc/sys/fs/inotify/max_user_instances
179
+ fi
180
+ " install packer " :
181
+ - command : shell.exec
182
+ params :
183
+ << : *go_options
184
+ working_dir : src/github.com/mongodb/mongodb-atlas-cli/bin
185
+ env :
186
+ << : *go_env
187
+ PACKER_VERSION : 1.11.2
188
+ shell : bash
189
+ script : |
190
+ set -Eeou pipefail
191
+ curl -sLo packer.zip https://releases.hashicorp.com/packer/$PACKER_VERSION/packer_$(echo $PACKER_VERSION)_linux_amd64.zip
192
+ unzip packer.zip
193
+ rm packer.zip LICENSE.txt
194
+ packer -v
195
+ " run packer " :
196
+ - command : shell.exec
197
+ params :
198
+ << : *go_options
199
+ working_dir : src/github.com/mongodb/mongodb-atlas-cli/build/ci/packer
200
+ env :
201
+ << : *go_env
202
+ AZURE_APP_ID : ${azure_app_id}
203
+ AZURE_DISPLAY_NAME : ${azure_display_name}
204
+ AZURE_PASSWORD : ${azure_password}
205
+ AZURE_TENANT : ${azure_tenant}
206
+ AZURE_SUBSCRIPTION_ID : ${azure_subscription_id}
207
+ shell : bash
208
+ script : |
209
+ packer init ${file}
210
+ packer build -force ${file}
53
211
tasks :
54
212
- name : compile
55
213
tags : ["code_health"]
@@ -1086,6 +1244,77 @@ tasks:
1086
1244
MCLI_SERVICE : cloud
1087
1245
E2E_TAGS : atlas,deployments,atlasclusters
1088
1246
E2E_TIMEOUT : 3h
1247
+ - name : atlas_deployments_local_noauth_e2e
1248
+ tags : ["e2e","deployments","local","noauth"]
1249
+ must_have_test_results : true
1250
+ exec_timeout_secs : 11400 # 3 hours 10 minutes
1251
+ commands :
1252
+ - func : " install gotestsum"
1253
+ - func : " install mongodb database tools"
1254
+ - func : " increase inotify limits"
1255
+ - func : " e2e test"
1256
+ timeout_secs : 11400 # 3 hours 10 minutes
1257
+ vars :
1258
+ MCLI_ORG_ID : ${atlas_org_id}
1259
+ MCLI_PROJECT_ID : ${atlas_project_id}
1260
+ MCLI_PRIVATE_API_KEY : ${atlas_private_api_key}
1261
+ MCLI_PUBLIC_API_KEY : ${atlas_public_api_key}
1262
+ MCLI_OPS_MANAGER_URL : ${mcli_ops_manager_url}
1263
+ MCLI_SERVICE : cloud
1264
+ E2E_TAGS : atlas,deployments,local,noauth
1265
+ E2E_TIMEOUT : 3h
1266
+ - name : atlas_deployments_local_nocli_e2e
1267
+ tags : ["e2e","deployments","local","nocli"]
1268
+ must_have_test_results : true
1269
+ exec_timeout_secs : 11400 # 3 hours 10 minutes
1270
+ commands :
1271
+ - func : " install gotestsum"
1272
+ - func : " install mongodb database tools"
1273
+ - func : " increase inotify limits"
1274
+ - func : " e2e test"
1275
+ timeout_secs : 11400 # 3 hours 10 minutes
1276
+ vars :
1277
+ MCLI_ORG_ID : ${atlas_org_id}
1278
+ MCLI_PROJECT_ID : ${atlas_project_id}
1279
+ MCLI_PRIVATE_API_KEY : ${atlas_private_api_key}
1280
+ MCLI_PUBLIC_API_KEY : ${atlas_public_api_key}
1281
+ MCLI_OPS_MANAGER_URL : ${mcli_ops_manager_url}
1282
+ MCLI_SERVICE : cloud
1283
+ E2E_TAGS : atlas,deployments,local,nocli
1284
+ E2E_TIMEOUT : 3h
1285
+ - name : atlas_deployments_local_auth_e2e
1286
+ tags : ["e2e","deployments","local","auth"]
1287
+ must_have_test_results : true
1288
+ exec_timeout_secs : 11400 # 3 hours 10 minutes
1289
+ commands :
1290
+ - func : " install gotestsum"
1291
+ - func : " install mongodb database tools"
1292
+ - func : " increase inotify limits"
1293
+ - func : " e2e test"
1294
+ timeout_secs : 11400 # 3 hours 10 minutes
1295
+ vars :
1296
+ MCLI_ORG_ID : ${atlas_org_id}
1297
+ MCLI_PROJECT_ID : ${atlas_project_id}
1298
+ MCLI_PRIVATE_API_KEY : ${atlas_private_api_key}
1299
+ MCLI_PUBLIC_API_KEY : ${atlas_public_api_key}
1300
+ MCLI_OPS_MANAGER_URL : ${mcli_ops_manager_url}
1301
+ MCLI_SERVICE : cloud
1302
+ E2E_TAGS : atlas,deployments,local,auth
1303
+ E2E_TIMEOUT : 3h
1304
+ - name : build_win11_image
1305
+ tags : ["packer", "windows", "win11"]
1306
+ commands :
1307
+ - func : " install packer"
1308
+ - func : " run packer"
1309
+ vars :
1310
+ file : " windows-11-azure.pkr.hcl"
1311
+ - name : build_win10_image
1312
+ tags : ["packer", "windows", "win10"]
1313
+ commands :
1314
+ - func : " install packer"
1315
+ - func : " run packer"
1316
+ vars :
1317
+ file : " windows-10-azure.pkr.hcl"
1089
1318
buildvariants :
1090
1319
- name : code_health
1091
1320
display_name : " Code Health"
@@ -1236,6 +1465,39 @@ buildvariants:
1236
1465
<< : *go_linux_version
1237
1466
tasks :
1238
1467
- name : " .e2e .atlas .plugin"
1468
+ - name : e2e_local_deployments_rhel
1469
+ display_name : " E2E Local Deployments Tests (rhel/podman)"
1470
+ allowed_requesters : ["patch", "ad_hoc", "github_pr"]
1471
+ tags :
1472
+ - localdev
1473
+ run_on :
1474
+ - rhel90-small
1475
+ expansions :
1476
+ << : *go_linux_version
1477
+ tasks :
1478
+ - name : " .e2e .deployments .local"
1479
+ - name : e2e_local_deployments_macos
1480
+ display_name : " E2E Local Deployments Tests (macos/docker)"
1481
+ allowed_requesters : ["patch", "ad_hoc", "github_pr"]
1482
+ tags :
1483
+ - localdev
1484
+ run_on :
1485
+ - macos-14-arm64-docker
1486
+ expansions :
1487
+ << : *go_linux_version
1488
+ tasks :
1489
+ - name : " .e2e .deployments .local"
1490
+ - name : build_images
1491
+ display_name : " Build Windows Images"
1492
+ allowed_requesters : ["patch", "ad_hoc", "github_pr"]
1493
+ tags :
1494
+ - packer
1495
+ run_on :
1496
+ - rhel80-small
1497
+ expansions :
1498
+ << : *go_linux_version
1499
+ tasks :
1500
+ - name : " .packer .windows"
1239
1501
patch_aliases :
1240
1502
- alias : " localdev"
1241
1503
variant_tags : ["localdev"]
0 commit comments