@@ -1354,6 +1354,45 @@ COPY --from=a /root/date.txt /date.txt`, testImageAlpine, testImageAlpine),
1354
1354
})
1355
1355
}
1356
1356
1357
+ func TestEmbedBinaryImage (t * testing.T ) {
1358
+ t .Parallel ()
1359
+
1360
+ srv := createGitServer (t , gitServerOptions {
1361
+ files : map [string ]string {
1362
+ ".devcontainer/Dockerfile" : fmt .Sprintf ("FROM %s\n RUN date --utc > /root/date.txt" , testImageAlpine ),
1363
+ ".devcontainer/devcontainer.json" : `{
1364
+ "name": "Test",
1365
+ "build": {
1366
+ "dockerfile": "Dockerfile"
1367
+ },
1368
+ }` ,
1369
+ },
1370
+ })
1371
+
1372
+ testReg := setupInMemoryRegistry (t , setupInMemoryRegistryOpts {})
1373
+ testRepo := testReg + "/test"
1374
+ ref , err := name .ParseReference (testRepo + ":latest" )
1375
+ require .NoError (t , err )
1376
+
1377
+ _ , err = runEnvbuilder (t , options {env : []string {
1378
+ envbuilderEnv ("GIT_URL" , srv .URL ),
1379
+ envbuilderEnv ("CACHE_REPO" , testRepo ),
1380
+ envbuilderEnv ("PUSH_IMAGE" , "1" ),
1381
+ }})
1382
+ require .NoError (t , err )
1383
+
1384
+ _ , err = remote .Image (ref )
1385
+ require .NoError (t , err , "expected image to be present after build + push" )
1386
+
1387
+ ctr , err := runEnvbuilder (t , options {env : []string {
1388
+ envbuilderEnv ("FALLBACK_IMAGE" , ref .String ()),
1389
+ }})
1390
+ require .NoError (t , err )
1391
+
1392
+ out := execContainer (t , ctr , "[[ -f \" /.envbuilder/bin/envbuilder\" ]] && echo \" exists\" " )
1393
+ require .Equal (t , "exists" , strings .TrimSpace (out ))
1394
+ }
1395
+
1357
1396
type setupInMemoryRegistryOpts struct {
1358
1397
Username string
1359
1398
Password string
0 commit comments