Skip to content

fix(template): retry apt fetches via apt.conf to survive mirror flakes#2562

Closed
ValentaTomas wants to merge 1 commit into
mainfrom
fix/apt-retries-in-provision
Closed

fix(template): retry apt fetches via apt.conf to survive mirror flakes#2562
ValentaTomas wants to merge 1 commit into
mainfrom
fix/apt-retries-in-provision

Conversation

@ValentaTomas
Copy link
Copy Markdown
Member

What

Drops a small /etc/apt/apt.conf.d/80-retries snippet inside provision.sh (Ubuntu base templates) so apt retries 10x with bounded timeouts.

Acquire::Retries "10";
Acquire::http::Timeout "30";
Acquire::https::Timeout "30";

Same snippet added to tests/e2b.Dockerfile.

Why

archive.ubuntu.com periodically blackholes connections from GHA runners (e.g. 91.189.91.81, 91.189.92.23, 185.125.190.81...). Without retries, provision.sh's single apt-get update blocks the whole template build until the 300 s API or 20 min smoketest timeout fires, cascading into ~80 integration test failures (TestEgressFirewall*, TestTemplateBuildRUN, TestSmokeAllFCVersions, ...). Same outage takes down main's periodic test runs too.

Retries are written before apt-get update, and because the file lives in /etc/apt/apt.conf.d/, they apply to user RUN apt-get steps in customer templates as well.

archive.ubuntu.com periodically blackholes connections from CI runners,
hanging provision.sh and every downstream template build (smoketest,
egress-firewall integration tests) on a 300s/20m timeout. Drop a small
80-retries apt.conf snippet so apt retries 10x with bounded timeouts;
config also persists in the rootfs so user RUN apt-get steps benefit.
@cursor
Copy link
Copy Markdown

cursor Bot commented May 4, 2026

PR Summary

Low Risk
Low risk because it only adjusts apt configuration for retries/timeouts, but it can change package-fetch behavior and still leave some builds unprotected if the config file isn’t written.

Overview
This change writes an /etc/apt/apt.conf.d/80-retries snippet (retries + timeouts) before apt-get update in provision.sh and the test Dockerfile to reduce template/test failures from flaky Ubuntu mirrors.

Issues: provision.sh only writes the retry config when packages are missing, so images where all packages are already present won’t get the baked-in apt retry behavior; tests/e2b.Dockerfile writes to /etc/apt/apt.conf.d/80-retries without ensuring the directory exists.

Reviewed by Cursor Bugbot for commit 8503cb4. Bugbot is set up for automated code reviews on this repo. Configure here.

@ValentaTomas ValentaTomas deleted the fix/apt-retries-in-provision branch May 4, 2026 21:58
@codecov
Copy link
Copy Markdown

codecov Bot commented May 4, 2026

❌ 77 Tests Failed:

Tests completed Failed Passed Skipped
2287 77 2210 5
View the full list of 77 ❄️ flaky test(s)
::TestMain

Flake rate in main: 100.00% (Passed 0 times, Failed 1 times)

Stack Traces | 0s run time
2026/05/04 21:59:42 Using host network cidr cidr 10.11.0.0/16
2026/05/04 21:59:42 Using vrt network cidr 10.12.0.0/16
2026/05/04 21:59:42 Using vrt network cidr 10.12.0.0/16
2026/05/04 21:59:42 Using network slot size: 32766
panic: test timed out after 20m0s
	running tests:
		TestSmokeAllFCVersions (20m0s)
		TestSmokeAllFCVersions/fc-v1.10 (19m54s)

goroutine 1075 [running]:
testing.(*M).startAlarm.func1()
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2682 +0x345
created by time.goFunc
	.../hostedtoolcache/go/1.25.9.../src/time/sleep.go:215 +0x2d

goroutine 1 [chan receive, 20 minutes]:
testing.(*T).Run(0xc0001828c0, {0x26add26?, 0xc000093b30?}, 0x275db00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2005 +0x485
testing.runTests.func1(0xc0001828c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2477 +0x37
testing.tRunner(0xc0001828c0, 0xc000093c70)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
testing.runTests(0xc0008001f8, {0x3e2f060, 0x1, 0x1}, {0x7?, 0xc000819600?, 0x3f940c0?})
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2475 +0x4b4
testing.(*M).Run(0xc000812b40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2337 +0x63a
main.main()
	_testmain.go:55 +0x9b

goroutine 66 [chan receive, 19 minutes]:
testing.(*T).Run(0xc000182a80, {0xc000b3e750?, 0xc000093ef0?}, 0xc000531240)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2005 +0x485
github..../orchestrator/cmd/smoketest_test.TestSmokeAllFCVersions(0xc000182a80)
	.../cmd/smoketest/smoke_test.go:74 +0x289
testing.tRunner(0xc000182a80, 0x275db00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 104 [select, 19 minutes]:
github..../pkg/sandbox/nbd.(*DevicePool).Populate(0xc000c11440, {0x2a69780, 0xc00051c540})
	.../sandbox/nbd/pool.go:159 +0x437
created by github..../orchestrator/cmd/smoketest_test.newTestInfra in goroutine 66
	.../cmd/smoketest/smoke_test.go:193 +0x58e

goroutine 105 [chan receive, 19 minutes]:
github.com/inetaf/tcpproxy.(*Proxy).Wait(...)
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:169
github.com/inetaf/tcpproxy.(*Proxy).Run(...)
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:161
github..../orchestrator/pkg/tcpfirewall.(*Proxy).Start(0xc000811b30, {0x2a69780, 0xc00051c540})
	.../pkg/tcpfirewall/proxy.go:120 +0x143e
created by github..../orchestrator/cmd/smoketest_test.newTestInfra in goroutine 66
	.../cmd/smoketest/smoke_test.go:200 +0x765

goroutine 106 [chan send, 19 minutes]:
github..../pkg/sandbox/network.(*Pool).Populate(0xc00017b170, {0x2a69780, 0xc00051c540})
	.../sandbox/network/pool.go:155 +0x2ec
created by github..../orchestrator/cmd/smoketest_test.newTestInfra in goroutine 66
	.../cmd/smoketest/smoke_test.go:207 +0xaa5

goroutine 107 [select, 19 minutes]:
github........../jellydator/ttlcache/v3.(*Cache[...]).Start(0x2aa0900)
	.../pkg/mod/github.com....../jellydator/ttlcache/v3@v3.4.0/cache.go:689 +0x1c5
created by github..../pkg/sandbox/build.(*DiffStore).Start in goroutine 66
	.../sandbox/build/cache.go:110 +0xaa

goroutine 108 [select]:
github..../pkg/sandbox/build.(*DiffStore).startDiskSpaceEviction(_, {_, _}, {{0x1, {0x0, 0x0}, 0x2540be400, {0xc00007e609, 0x34}, {0x20b2de1, ...}, ...}, ...}, ...)
	.../sandbox/build/cache.go:191 +0x13d
created by github..../pkg/sandbox/build.(*DiffStore).Start in goroutine 66
	.../sandbox/build/cache.go:111 +0x194

goroutine 109 [select, 19 minutes]:
github........../jellydator/ttlcache/v3.(*Cache[...]).Start(0x2aa0dc0)
	.../pkg/mod/github.com....../jellydator/ttlcache/v3@v3.4.0/cache.go:689 +0x1c5
created by github..../pkg/sandbox/template.(*Cache).Start in goroutine 66
	.../sandbox/template/cache.go:118 +0x85

goroutine 110 [IO wait, 19 minutes]:
internal/poll.runtime_pollWait(0x7f420042da00, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000132000?, 0x4319c5?, 0x0)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000132000)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:613 +0x28c
net.(*netFD).accept(0xc000132000)
	.../hostedtoolcache/go/1.25.9.../src/net/fd_unix.go:161 +0x29
net.(*TCPListener).accept(0xc000818000)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock_posix.go:159 +0x1b
net.(*TCPListener).Accept(0xc000818000)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock.go:380 +0x30
github..../pkg/proxy/tracking.(*Listener).Accept(0xc000b18000)
	.../proxy/tracking/listener.go:22 +0x22
net/http.(*Server).Serve(0xc0005ea000, {0x2a66160, 0xc000b18000})
	.../hostedtoolcache/go/1.25.9.../net/http/server.go:3463 +0x30c
github..../shared/pkg/proxy.(*Proxy).Serve(...)
	.../pkg/proxy/proxy.go:108
github..../shared/pkg/proxy.(*Proxy).ListenAndServe(0xc0005ea000, {0x2a69780?, 0xc00051c540?})
	.../pkg/proxy/proxy.go:104 +0xda
github..../orchestrator/pkg/proxy.(*SandboxProxy).Start(...)
	.../pkg/proxy/proxy.go:170
created by github..../orchestrator/cmd/smoketest_test.newTestInfra in goroutine 66
	.../cmd/smoketest/smoke_test.go:228 +0x1019

goroutine 111 [select, 19 minutes]:
github..../shared/pkg/utils.(*SetOnce[...]).WaitWithContext(0x2a85940, {0x2a69710, 0xc000cf2570})
	.../pkg/utils/set_once.go:106 +0x77
github..../shared/pkg/utils.(*ErrorOnce).WaitWithContext(...)
	.../pkg/utils/error_once.go:49
github..../build/phases/base.(*BaseBuilder).provisionSandbox(0xc000326c08, {0x2a69710?, 0xc000bd9b90?}, 0xc0000f6468, 0xc000f560b0, {{0xc000b3e781, 0xb}, {0xc000b8a3a8, 0x15}, {0xc00002c870, ...}, ...}, ...)
	.../phases/base/provision.go:165 +0xadc
github..../build/phases/base.(*BaseBuilder).buildLayerFromOCI(_, {_, _}, _, {0x2, {{0xc00002c270, 0x24}, {0x269d3e5, 0xf}, {0x269d9b2, ...}}, ...}, ...)
	.../phases/base/builder.go:216 +0xc09
github..../build/phases/base.(*BaseBuilder).Build(_, {_, _}, _, {_, _}, {{0x0, {{0x0, 0x0}, {0x0, ...}, ...}, ...}, ...}, ...)
	.../phases/base/builder.go:143 +0x3d1
github..../template/build/phases.Run({_, _}, _, _, {{0x1, {0x0, 0x0}, 0x2540be400, {0xc00007e609, 0x34}, ...}, ...}, ...)
	.../build/phases/phase.go:122 +0xf68
github..../pkg/template/build.runBuild({_, _}, _, {{0x1, {0x0, 0x0}, 0x2540be400, {0xc00007e609, 0x34}, {0x20b2de1, ...}, ...}, ...}, ...)
	.../template/build/builder.go:360 +0x1e1f
github..../pkg/template/build.(*Builder).Build(0xc0001836c0, {_, _}, {{_, _}}, {{0x268cca1, 0x6}, {0x0, 0x0}, {0xc000b3e781, ...}, ...}, ...)
	.../template/build/builder.go:228 +0xdb0
github..../orchestrator/cmd/smoketest_test.TestSmokeAllFCVersions.func1(0xc000183880)
	.../cmd/smoketest/smoke_test.go:80 +0x3c8
testing.tRunner(0xc000183880, 0xc000531240)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 66
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 38 [chan receive, 19 minutes]:
github..../orchestrator/pkg/tcpfirewall.(*Proxy).Start.func4()
	.../pkg/tcpfirewall/proxy.go:116 +0x2c
created by github..../orchestrator/pkg/tcpfirewall.(*Proxy).Start in goroutine 105
	.../pkg/tcpfirewall/proxy.go:115 +0x140b

goroutine 39 [IO wait]:
internal/poll.runtime_pollWait(0x7f4249c41200, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000444100?, 0x900000036?, 0x0)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000444100)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:613 +0x28c
net.(*netFD).accept(0xc000444100)
	.../hostedtoolcache/go/1.25.9.../src/net/fd_unix.go:161 +0x29
net.(*TCPListener).accept(0xc00011dec0)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock_posix.go:159 +0x1b
net.(*TCPListener).Accept(0xc00011dec0)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock.go:380 +0x30
github..../orchestrator/pkg/tcpfirewall.(*resilientListener).Accept(0xc000b688a0)
	.../pkg/tcpfirewall/listener.go:29 +0x3c
github.com/inetaf/tcpproxy.(*Proxy).serveListener(0xc00011de40, 0xc0002ec2a0, {0x2a65160, 0xc000b688a0}, {0xc000b10200, 0x2, 0x2})
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:214 +0x7e
created by github.com/inetaf/tcpproxy.(*Proxy).Start in goroutine 105
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:201 +0x194

goroutine 40 [IO wait, 19 minutes]:
internal/poll.runtime_pollWait(0x7f420042dc00, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000444180?, 0x1000?, 0x0)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000444180)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:613 +0x28c
net.(*netFD).accept(0xc000444180)
	.../hostedtoolcache/go/1.25.9.../src/net/fd_unix.go:161 +0x29
net.(*TCPListener).accept(0xc00011df40)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock_posix.go:159 +0x1b
net.(*TCPListener).Accept(0xc00011df40)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock.go:380 +0x30
github..../orchestrator/pkg/tcpfirewall.(*resilientListener).Accept(0xc000b68960)
	.../pkg/tcpfirewall/listener.go:29 +0x3c
github.com/inetaf/tcpproxy.(*Proxy).serveListener(0xc00011de40, 0xc0002ec2a0, {0x2a65160, 0xc000b68960}, {0xc000b10240, 0x2, 0x2})
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:214 +0x7e
created by github.com/inetaf/tcpproxy.(*Proxy).Start in goroutine 105
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:201 +0x194

goroutine 41 [IO wait, 19 minutes]:
internal/poll.runtime_pollWait(0x7f420042de00, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000444200?, 0xa76744873597259?, 0x0)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000444200)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:613 +0x28c
net.(*netFD).accept(0xc000444200)
	.../hostedtoolcache/go/1.25.9.../src/net/fd_unix.go:161 +0x29
net.(*TCPListener).accept(0xc0004ea1c0)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock_posix.go:159 +0x1b
net.(*TCPListener).Accept(0xc0004ea1c0)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock.go:380 +0x30
github..../orchestrator/pkg/tcpfirewall.(*resilientListener).Accept(0xc000b68a20)
	.../pkg/tcpfirewall/listener.go:29 +0x3c
github.com/inetaf/tcpproxy.(*Proxy).serveListener(0xc00011de40, 0xc0002ec2a0, {0x2a65160, 0xc000b68a20}, {0xc000b1c1a0, 0x1, 0x1})
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:214 +0x7e
created by github.com/inetaf/tcpproxy.(*Proxy).Start in goroutine 105
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:201 +0x194

goroutine 42 [chan receive, 19 minutes]:
github.com/inetaf/tcpproxy.(*Proxy).awaitFirstError(...)
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:208
created by github.com/inetaf/tcpproxy.(*Proxy).Start in goroutine 105
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:203 +0x3b9

goroutine 854 [IO wait]:
internal/poll.runtime_pollWait(0x7f4200436200, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000b81b00?, 0xc001248000?, 0x1)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000b81b00, {0xc001248000, 0x8000, 0x8000})
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:165 +0x279
os.(*File).read(...)
	.../hostedtoolcache/go/1.25.9.../src/os/file_posix.go:29
os.(*File).Read(0xc000b8e2a8, {0xc001248000?, 0x7e?, 0x8?})
	.../hostedtoolcache/go/1.25.9.../src/os/file.go:144 +0x4f
io.copyBuffer({0x2a2ed60, 0xc000f03f20}, {0x2a2d9a0, 0xc0004f0e58}, {0x0, 0x0, 0x0})
	.../hostedtoolcache/go/1.25.9.../src/io/io.go:429 +0x190
io.Copy(...)
	.../hostedtoolcache/go/1.25.9.../src/io/io.go:388
os.genericWriteTo(0xc000b8e2a8?, {0x2a2ed60, 0xc000f03f20})
	.../hostedtoolcache/go/1.25.9.../src/os/file.go:295 +0x4f
os.(*File).WriteTo(0xc000b8e2a8, {0x2a2ed60, 0xc000f03f20})
	.../hostedtoolcache/go/1.25.9.../src/os/file.go:273 +0x9c
io.copyBuffer({0x2a2ed60, 0xc000f03f20}, {0x2a2da20, 0xc000b8e2a8}, {0x0, 0x0, 0x0})
	.../hostedtoolcache/go/1.25.9.../src/io/io.go:411 +0x9d
io.Copy(...)
	.../hostedtoolcache/go/1.25.9.../src/io/io.go:388
os/exec.(*Cmd).writerDescriptor.func1()
	.../hostedtoolcache/go/1.25.9.../os/exec/exec.go:596 +0x34
os/exec.(*Cmd).Start.func2(0xc000e02a88?)
	.../hostedtoolcache/go/1.25.9.../os/exec/exec.go:749 +0x2c
created by os/exec.(*Cmd).Start in goroutine 111
	.../hostedtoolcache/go/1.25.9.../os/exec/exec.go:748 +0x935

goroutine 855 [IO wait, 19 minutes]:
internal/poll.runtime_pollWait(0x7f4200436000, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000b81bc0?, 0xc001250000?, 0x1)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000b81bc0, {0xc001250000, 0x8000, 0x8000})
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:165 +0x279
os.(*File).read(...)
	.../hostedtoolcache/go/1.25.9.../src/os/file_posix.go:29
os.(*File).Read(0xc000b8e2c0, {0xc001250000?, 0x481b3f?, 0x8?})
	.../hostedtoolcache/go/1.25.9.../src/os/file.go:144 +0x4f
io.copyBuffer({0x2a2dc00, 0xc000f03f38}, {0x2a2d9a0, 0xc0007b2178}, {0x0, 0x0, 0x0})
	.../hostedtoolcache/go/1.25.9.../src/io/io.go:429 +0x190
io.Copy(...)
	.../hostedtoolcache/go/1.25.9.../src/io/io.go:388
os.genericWriteTo(0xc000b8e2c0?, {0x2a2dc00, 0xc000f03f38})
	.../hostedtoolcache/go/1.25.9.../src/os/file.go:295 +0x4f
os.(*File).WriteTo(0xc000b8e2c0, {0x2a2dc00, 0xc000f03f38})
	.../hostedtoolcache/go/1.25.9.../src/os/file.go:273 +0x9c
io.copyBuffer({0x2a2dc00, 0xc000f03f38}, {0x2a2da20, 0xc000b8e2c0}, {0x0, 0x0, 0x0})
	.../hostedtoolcache/go/1.25.9.../src/io/io.go:411 +0x9d
io.Copy(...)
	.../hostedtoolcache/go/1.25.9.../src/io/io.go:388
os/exec.(*Cmd).writerDescriptor.func1()
	.../hostedtoolcache/go/1.25.9.../os/exec/exec.go:596 +0x34
os/exec.(*Cmd).Start.func2(0x0?)
	.../hostedtoolcache/go/1.25.9.../os/exec/exec.go:749 +0x2c
created by os/exec.(*Cmd).Start in goroutine 111
	.../hostedtoolcache/go/1.25.9.../os/exec/exec.go:748 +0x935

goroutine 240 [select]:
net.(*netFD).connect.func2()
	.../hostedtoolcache/go/1.25.9.../src/net/fd_unix.go:107 +0x7a
created by net.(*netFD).connect in goroutine 1074
	.../hostedtoolcache/go/1.25.9.../src/net/fd_unix.go:106 +0x345

goroutine 839 [select]:
github..../pkg/sandbox/fc.(*Process).startMetricsReader.func1()
	.../sandbox/fc/fc_metrics.go:133 +0x10b
created by github..../pkg/sandbox/fc.(*Process).startMetricsReader in goroutine 111
	.../sandbox/fc/fc_metrics.go:128 +0xf8

goroutine 856 [syscall, 19 minutes]:
syscall.Syscall6(0xf7, 0x3, 0x22, 0xc001171d18, 0x4, 0xc000ba66c0, 0x0)
	.../hostedtoolcache/go/1.25.9.../src/syscall/syscall_linux.go:96 +0x39
internal/syscall/unix.Waitid(0x0?, 0x268ac48?, 0x4?, 0x0?, 0x0?)
	.../hostedtoolcache/go/1.25.9.../syscall/unix/waitid_linux.go:18 +0x39
os.(*Process).pidfdWait.func1(...)
	.../hostedtoolcache/go/1.25.9.../src/os/pidfd_linux.go:109
os.ignoringEINTR(...)
	.../hostedtoolcache/go/1.25.9.../src/os/file_posix.go:256
os.(*Process).pidfdWait(0xc000a3ea00)
	.../hostedtoolcache/go/1.25.9.../src/os/pidfd_linux.go:108 +0x1a9
os.(*Process).wait(0x0?)
	.../hostedtoolcache/go/1.25.9.../src/os/exec_unix.go:25 +0x1a
os.(*Process).Wait(...)
	.../hostedtoolcache/go/1.25.9.../src/os/exec.go:340
os/exec.(*Cmd).Wait(0xc000bca480)
	.../hostedtoolcache/go/1.25.9.../os/exec/exec.go:922 +0x45
github..../pkg/sandbox/fc.(*Process).configure.func1()
	.../sandbox/fc/process.go:258 +0xc5
created by github..../pkg/sandbox/fc.(*Process).configure in goroutine 111
	.../sandbox/fc/process.go:254 +0xa6a

goroutine 853 [select]:
github..../orchestrator/pkg/sandbox.(*HostStatsCollector).Start(0xc000bca600, {0x2a69710, 0xc000cf2630})
	.../pkg/sandbox/hoststats_collector.go:152 +0x51d
created by github..../orchestrator/pkg/sandbox.initializeHostStatsCollector in goroutine 111
	.../pkg/sandbox/hoststats.go:48 +0x525

goroutine 820 [chan receive, 19 minutes]:
github..../pkg/sandbox/fc.(*Process).startMetricsReader.func2.1()
	.../sandbox/fc/fc_metrics.go:178 +0x30
created by github..../pkg/sandbox/fc.(*Process).startMetricsReader.func2 in goroutine 840
	.../sandbox/fc/fc_metrics.go:177 +0x649

goroutine 840 [IO wait]:
internal/poll.runtime_pollWait(0x7f4200f0b200, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000b98d20?, 0xc001358cdb?, 0x1)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000b98d20, {0xc001358cdb, 0xbd325, 0xbd325})
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:165 +0x279
os.(*File).read(...)
	.../hostedtoolcache/go/1.25.9.../src/os/file_posix.go:29
os.(*File).Read(0xc0000f70b0, {0xc001358cdb?, 0xc000723cf8?, 0x41fab4?})
	.../hostedtoolcache/go/1.25.9.../src/os/file.go:144 +0x4f
bufio.(*Scanner).Scan(0xc000723f28)
	.../hostedtoolcache/go/1.25.9.../src/bufio/scan.go:219 +0x83e
github..../pkg/sandbox/fc.(*Process).startMetricsReader.func2()
	.../sandbox/fc/fc_metrics.go:185 +0x70c
created by github..../pkg/sandbox/fc.(*Process).startMetricsReader in goroutine 111
	.../sandbox/fc/fc_metrics.go:147 +0x189

goroutine 850 [select, 11 minutes]:
io.(*pipe).read(0xc000b808a0, {0xc000b14669, 0x997, 0x24?})
	.../hostedtoolcache/go/1.25.9.../src/io/pipe.go:57 +0xa5
io.(*PipeReader).Read(0xc000b14644?, {0xc000b14669?, 0x9bc?, 0x41f75b?})
	.../hostedtoolcache/go/1.25.9.../src/io/pipe.go:134 +0x1a
bufio.(*Scanner).Scan(0xc00056aee0)
	.../hostedtoolcache/go/1.25.9.../src/bufio/scan.go:219 +0x83e
github..../build/phases/base.(*BaseBuilder).provisionSandbox.func1()
	.../phases/base/provision.go:98 +0x13c
created by github..../build/phases/base.(*BaseBuilder).provisionSandbox in goroutine 111
	.../phases/base/provision.go:91 +0x53b

goroutine 883 [chan receive, 19 minutes]:
github..../shared/pkg/utils.(*SetOnce[...]).Wait(...)
	.../pkg/utils/set_once.go:83
github..../shared/pkg/utils.(*ErrorOnce).Wait(0x516d66?)
	.../pkg/utils/error_once.go:33 +0x25
github..../orchestrator/pkg/sandbox.(*Factory).CreateSandbox.func6()
	.../pkg/sandbox/sandbox.go:527 +0x10d
created by github..../orchestrator/pkg/sandbox.(*Factory).CreateSandbox in goroutine 111
	.../pkg/sandbox/sandbox.go:520 +0x1f13

goroutine 1074 [IO wait]:
internal/poll.runtime_pollWait(0x7f4249c41600, 0x77)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000ba8600?, 0x0?, 0x0)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitWrite(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:93
internal/poll.(*FD).WaitWrite(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:685
net.(*netFD).connect(0xc000ba8600, {0x2a69780, 0xc000074af0}, {0x41fab4?, 0x0?}, {0x2a2dd40?, 0xc000806240?})
	.../hostedtoolcache/go/1.25.9.../src/net/fd_unix.go:130 +0x6b6
net.(*netFD).dial(0xc000ba8600, {0x2a69780, 0xc000074af0}, {0x2a77810?, 0x0?}, {0x2a77810, 0xc000b3d650}, 0x0?)
	.../hostedtoolcache/go/1.25.9.../src/net/sock_posix.go:124 +0x3bc
net.socket({0x2a69780, 0xc000074af0}, {0x268a69b, 0x3}, 0x2, 0x1, 0x0?, 0x0, {0x2a77810, 0x0}, ...)
	.../hostedtoolcache/go/1.25.9.../src/net/sock_posix.go:70 +0x29b
net.internetSocket({0x2a69780, 0xc000074af0}, {0x268a69b, 0x3}, {0x2a77810, 0x0}, {0x2a77810, 0xc000b3d650}, 0x1, 0x0, ...)
	.../hostedtoolcache/go/1.25.9.../src/net/ipsock_posix.go:167 +0xf8
net.(*sysDialer).doDialTCPProto(0xc00062bbc0, {0x2a69780, 0xc000074af0}, 0x0, 0xc000b3d650, 0x0)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock_posix.go:85 +0xe7
net.(*sysDialer).doDialTCP(...)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock_posix.go:75
net.(*sysDialer).dialTCP(0x4803b9?, {0x2a69780?, 0xc000074af0?}, 0x2078d60?, 0xc000629360?)
	.../hostedtoolcache/go/1.25.9.../src/net/tcpsock_posix.go:71 +0x69
net.(*sysDialer).dialSingle(0xc00062bbc0, {0x2a69780, 0xc000074af0}, {0x2a556f8, 0xc000b3d650})
	.../hostedtoolcache/go/1.25.9.../src/net/dial.go:721 +0x3ce
net.(*sysDialer).dialSerial(0xc00062bbc0, {0x2a69780, 0xc000074af0}, {0xc00152f230?, 0x1, 0x6c08fe?})
	.../hostedtoolcache/go/1.25.9.../src/net/dial.go:686 +0x248
net.(*sysDialer).dialParallel(0x0?, {0x2a69780?, 0xc000074af0?}, {0xc00152f230?, 0x2259540?, 0x268af34?}, {0x0?, 0x268a69b?, 0x10?})
	.../hostedtoolcache/go/1.25.9.../src/net/dial.go:587 +0x30a
net.(*Dialer).DialContext(0xc0004473b0, {0x2a69780, 0xc000074af0}, {0x268a69b, 0x3}, {0xc0002ad620, 0xf})
	.../hostedtoolcache/go/1.25.9.../src/net/dial.go:578 +0x6a9
github.com/inetaf/tcpproxy.(*DialProxy).HandleConn(0xc0006299b8, {0x2a7c130, 0xc0008198c0})
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:382 +0x105
github..../orchestrator/pkg/tcpfirewall.proxy({0x2a69780, 0xc00051c540}, {0x2a7c130, 0xc0008198c0}, {0xc0002ad620, 0xf}, 0xc000690840, {0x268ae20, 0x4})
	.../pkg/tcpfirewall/handlers.go:106 +0x167
github..../orchestrator/pkg/tcpfirewall.domainHandler({0x2a69780, 0xc00051c540}, {0x2a7c130, 0xc0008198c0}, {0xc0002ad600, 0x10, 0x10}, 0x50, 0x269097c?, 0xc0007b2100, ...)
	.../pkg/tcpfirewall/handlers.go:68 +0x597
github..../orchestrator/pkg/tcpfirewall.(*connectionHandler).HandleConn.func1({0x2a69780?, 0xc00051c540?}, {0x2a7c130?, 0xc0008198c0?}, {0xc0002ad600?, 0x25df220?, 0xc0007d3cc8?}, 0xc0007d3ce0?, 0x7da065?, 0xc0007b2100, ...)
	.../pkg/tcpfirewall/proxy.go:269 +0xe3
github..../orchestrator/pkg/tcpfirewall.(*connectionHandler).HandleConn(0xc00017c500, {0x2a7c130, 0xc0008198c0})
	.../pkg/tcpfirewall/proxy.go:272 +0x8c3
github.com/inetaf/tcpproxy.(*Proxy).serveConn(0xc00081a460?, {0x2a7c0d8, 0xc0000f6350}, {0xc000b10200, 0x2, 0x3fb9620?})
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:237 +0x308
created by github.com/inetaf/tcpproxy.(*Proxy).serveListener in goroutine 39
	.../pkg/mod/github.com/inetaf/tcpproxy@v0.0.0-20250222171855-c4b9df066048/tcpproxy.go:219 +0x65

goroutine 842 [IO wait]:
internal/poll.runtime_pollWait(0x7f4200435e00, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000374400?, 0xc0012bc000?, 0x0)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000374400, {0xc0012bc000, 0x1000, 0x1000})
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:165 +0x279
net.(*netFD).Read(0xc000374400, {0xc0012bc000?, 0x40c554?, 0x0?})
	.../hostedtoolcache/go/1.25.9.../src/net/fd_posix.go:68 +0x25
net.(*conn).Read(0xc0007b21a0, {0xc0012bc000?, 0x40c345?, 0xc000305350?})
	.../hostedtoolcache/go/1.25.9.../src/net/net.go:196 +0x45
net/http.(*persistConn).Read(0xc00052b8c0, {0xc0012bc000?, 0x7f9c05?, 0x2a2da40?})
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2125 +0x47
bufio.(*Reader).fill(0xc000cdc7e0)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:113 +0x103
bufio.(*Reader).Peek(0xc000cdc7e0, 0x1)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:152 +0x53
net/http.(*persistConn).readLoop(0xc00052b8c0)
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2278 +0x172
created by net/http.(*Transport).dialConn in goroutine 841
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:1947 +0x174f

goroutine 843 [select]:
net/http.(*persistConn).writeLoop(0xc00052b8c0)
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2600 +0xe7
created by net/http.(*Transport).dialConn in goroutine 841
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:1948 +0x17a5
FAIL	github..../orchestrator/cmd/smoketest	1200.028s
::TestMain

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
panic: test timed out after 10m0s
	running tests:
		TestAssignmentOrderingAfterTagReassignment (5m0s)
		TestDeleteTemplateFromAnotherTeamAPIKey (5m0s)
		TestUpdateTemplateVisibilityToPrivateWithAPIKey (5m0s)
		TestUpdateTemplateVisibilityToPublicWithAPIKey (5m0s)

goroutine 6730 [running]:
testing.(*M).startAlarm.func1()
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2682 +0x345
created by time.goFunc
	.../hostedtoolcache/go/1.25.9.../src/time/sleep.go:215 +0x2d

goroutine 1 [chan receive, 10 minutes]:
testing.tRunner.func1()
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1891 +0x451
testing.tRunner(0xc0003e0fc0, 0xc000063c70)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1940 +0x123
testing.runTests(0xc0001456b0, {0x222d4e0, 0x37, 0x37}, {0x7?, 0xc0005de3c0?, 0x223dc40?})
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2475 +0x4b4
testing.(*M).Run(0xc000137e00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2337 +0x63a
main.main()
	_testmain.go:153 +0x9b

goroutine 50 [chan receive, 10 minutes]:
testing.tRunner.func1()
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1891 +0x451
testing.tRunner(0xc0003e1180, 0x1596ea0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1940 +0x123
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 51 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0003e1500)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildENV(0xc0003e1500)
	.../api/templates/build_template_test.go:173 +0x2a
testing.tRunner(0xc0003e1500, 0x1596e58)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 52 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0003e1880)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWORKDIR(0xc0003e1880)
	.../api/templates/build_template_test.go:380 +0x2a
testing.tRunner(0xc0003e1880, 0x1596eb0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 53 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0003e1c00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildCache(0xc0003e1c00)
	.../api/templates/build_template_test.go:435 +0x2a
testing.tRunner(0xc0003e1c00, 0x1596e50)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 54 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000403c00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplate(0xc000403c00)
	.../api/templates/build_template_test.go:471 +0x2a
testing.tRunner(0xc000403c00, 0x1596e60)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 55 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000502700)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateCommandOverride(0xc000502700)
	.../api/templates/build_template_test.go:531 +0x2a
testing.tRunner(0xc000502700, 0x1596e70)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 56 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000502a80)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateInheritance(0xc000502a80)
	.../api/templates/build_template_test.go:601 +0x2a
testing.tRunner(0xc000502a80, 0x1596e78)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 57 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000502e00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateStartCommand(0xc000502e00)
	.../api/templates/build_template_test.go:662 +0x2a
testing.tRunner(0xc000502e00, 0x1596e88)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 58 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000503180)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateBaseCommandsInheritance(0xc000503180)
	.../api/templates/build_template_test.go:708 +0x2a
testing.tRunner(0xc000503180, 0x1596e68)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 59 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000503500)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateLayered(0xc000503500)
	.../api/templates/build_template_test.go:768 +0x2a
testing.tRunner(0xc000503500, 0x1596e80)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 60 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000503880)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildStartReadyCommandExecution(0xc000503880)
	.../api/templates/build_template_test.go:857 +0x2a
testing.tRunner(0xc000503880, 0x1596ea8)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 61 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000503c00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWithDifferentSourceImages(0xc000503c00)
	.../api/templates/build_template_test.go:966 +0x2a
testing.tRunner(0xc000503c00, 0x1596eb8)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 62 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000602380)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildInstalledPackagesAvailable(0xc000602380)
	.../api/templates/build_template_test.go:1024 +0x2a
testing.tRunner(0xc000602380, 0x1596e98)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 63 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000602700)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildCOPY(0xc000602700)
	.../api/templates/build_template_test.go:1128 +0x2a
testing.tRunner(0xc000602700, 0x1596e48)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 64 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000602a80)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFuseConfiguration(0xc000602a80)
	.../api/templates/build_template_test.go:1162 +0x27
testing.tRunner(0xc000602a80, 0x1596e90)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 65 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000602e00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestDeleteTemplate(0xc000602e00)
	.../api/templates/delete_template_test.go:17 +0x2a
testing.tRunner(0xc000602e00, 0x1596d88)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 66 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000603180)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestDeleteTemplateWithAccessToken(0xc000603180)
	.../api/templates/delete_template_test.go:44 +0x27
testing.tRunner(0xc000603180, 0x1596da0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 67 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000603500)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestDeleteTemplateFromAnotherTeamAccessToken(0xc000603500)
	.../api/templates/delete_template_test.go:61 +0x27
testing.tRunner(0xc000603500, 0x1596d98)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 68 [sleep]:
time.Sleep(0x3b9aca00)
	.../hostedtoolcache/go/1.25.9.../src/runtime/time.go:363 +0x165
github..../tests/api/templates.buildTemplate({0x17a5df0, 0xc000603880}, {0x155e2ed, 0x23}, {0xc0005d202c, 0xc000816020, 0x0, 0x0, 0x0, 0x0, ...}, ...)
	.../api/templates/build_template_test.go:117 +0x6c5
github..../tests/api/templates.TestDeleteTemplateFromAnotherTeamAPIKey(0xc000603880)
	.../api/templates/delete_template_test.go:90 +0x3db
testing.tRunner(0xc000603880, 0x1596d90)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 3430 [select, 1 minutes]:
github..../pgx/v5/pgxpool.(*Pool).backgroundHealthCheck(0xc00045a2a0)
	.../pkg/mod/github.com.........................../jackc/pgx/v5@v5.9.2/pgxpool/pool.go:495 +0xc7
github..../pgx/v5/pgxpool.NewWithConfig.func5()
	.../pkg/mod/github.com.........................../jackc/pgx/v5@v5.9.2/pgxpool/pool.go:338 +0x3d
created by github..../pgx/v5/pgxpool.NewWithConfig in goroutine 68
	.../pkg/mod/github.com.........................../jackc/pgx/v5@v5.9.2/pgxpool/pool.go:335 +0x43e

goroutine 3432 [select, 1 minutes]:
github..../pgx/v5/pgxpool.(*Pool).backgroundHealthCheck(0xc00045a460)
	.../pkg/mod/github.com.........................../jackc/pgx/v5@v5.9.2/pgxpool/pool.go:495 +0xc7
github..../pgx/v5/pgxpool.NewWithConfig.func5()
	.../pkg/mod/github.com.........................../jackc/pgx/v5@v5.9.2/pgxpool/pool.go:338 +0x3d
created by github..../pgx/v5/pgxpool.NewWithConfig in goroutine 68
	.../pkg/mod/github.com.........................../jackc/pgx/v5@v5.9.2/pgxpool/pool.go:335 +0x43e

goroutine 82 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00028b6c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestListTemplatesWithAccessToken(0xc00028b6c0)
	.../api/templates/template_list_test.go:112 +0x27
testing.tRunner(0xc00028b6c0, 0x1596dc8)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 83 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00028ba40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagAssign(0xc00028ba40)
	.../api/templates/template_tags_test.go:21 +0x3c
testing.tRunner(0xc00028ba40, 0x1596ed8)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 84 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00028bdc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagAssignFromSourceTag(0xc00028bdc0)
	.../api/templates/template_tags_test.go:52 +0x3c
testing.tRunner(0xc00028bdc0, 0x1596ee0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 85 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002ba1c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagDeleteLatestNotAllowed(0xc0002ba1c0)
	.../api/templates/template_tags_test.go:87 +0x36
testing.tRunner(0xc0002ba1c0, 0x1596ee8)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 86 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002ba540)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestSandboxCreateWithTag(0xc0002ba540)
	.../api/templates/template_tags_test.go:108 +0x3c
testing.tRunner(0xc0002ba540, 0x1596e38)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 87 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002ba8c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestSandboxCreateWithDefaultTag(0xc0002ba8c0)
	.../api/templates/template_tags_test.go:149 +0x3c
testing.tRunner(0xc0002ba8c0, 0x1596e28)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 88 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002bac40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestSandboxCreateWithNonExistentTag(0xc0002bac40)
	.../api/templates/template_tags_test.go:179 +0x3c
testing.tRunner(0xc0002bac40, 0x1596e30)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 89 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002bafc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestSandboxCreateWithAliasAndTag(0xc0002bafc0)
	.../api/templates/template_tags_test.go:199 +0x3c
testing.tRunner(0xc0002bafc0, 0x1596e20)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 90 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002bb340)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagNotFoundForNonExistentTemplate(0xc0002bb340)
	.../api/templates/template_tags_test.go:242 +0x36
testing.tRunner(0xc0002bb340, 0x1596ef8)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 91 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002bb6c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagInvalidTagName(0xc0002bb6c0)
	.../api/templates/template_tags_test.go:260 +0x36
testing.tRunner(0xc0002bb6c0, 0x1596ef0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 92 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002bba40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestMultipleTagsOnSameTemplate(0xc0002bba40)
	.../api/templates/template_tags_test.go:278 +0x3c
testing.tRunner(0xc0002bba40, 0x1596de0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 94 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002e41c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWithTags(0xc0002e41c0)
	.../api/templates/template_tags_test.go:385 +0x3c
testing.tRunner(0xc0002e41c0, 0x1596ec8)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 95 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002e4540)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWithTagsAndSandboxCreation(0xc0002e4540)
	.../api/templates/template_tags_test.go:424 +0x3c
testing.tRunner(0xc0002e4540, 0x1596ed0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 96 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002e48c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWithTagInAlias(0xc0002e48c0)
	.../api/templates/template_tags_test.go:466 +0x3c
testing.tRunner(0xc0002e48c0, 0x1596ec0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 97 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002e4c40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestAssignmentOrderingLatestWins(0xc0002e4c40)
	.../api/templates/template_tags_test.go:512 +0x3c
testing.tRunner(0xc0002e4c40, 0x1596d80)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 98 [sleep]:
time.Sleep(0x3b9aca00)
	.../hostedtoolcache/go/1.25.9.../src/runtime/time.go:363 +0x165
github..../integration/internal/utils.WaitForBuildCompletion({0x17a5df0, 0xc0002e4fc0}, {0x178fac8, 0xc000247c70}, {0xc0003341b0, 0x14}, {0xc0006a6480, 0x24}, {0x154b7b9, 0x16}, ...)
	.../internal/utils/template.go:151 +0xe5
github..../integration/internal/utils.BuildTemplate({0x17a5df0, 0xc0002e4fc0}, {{0x154b7b9, 0x16}, 0x0, 0xc00037ec40, 0xc00037ec44, {0x0, 0xc0003b5c20, 0x0, ...}, ...})
	.../internal/utils/template.go:85 +0x325
github..../tests/api/templates.TestAssignmentOrderingAfterTagReassignment(0xc0002e4fc0)
	.../api/templates/template_tags_test.go:590 +0x352
testing.tRunner(0xc0002e4fc0, 0x1596d78)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 99 [sleep]:
time.Sleep(0x3b9aca00)
	.../hostedtoolcache/go/1.25.9.../src/runtime/time.go:363 +0x165
github..../integration/internal/utils.WaitForBuildCompletion({0x17a5df0, 0xc0002e5340}, {0x178fac8, 0xc0002789a0}, {0xc0005d6468, 0x14}, {0xc00004aea0, 0x24}, {0x1550dd3, 0x1a}, ...)
	.../internal/utils/template.go:151 +0xe5
github..../integration/internal/utils.BuildTemplate({0x17a5df0, 0xc0002e5340}, {{0x1550dd3, 0x1a}, 0x0, 0xc000015a08, 0xc000015a0c, {0x0, 0xc00013fac0, 0x0, ...}, ...})
	.../internal/utils/template.go:85 +0x325
github..../integration/internal/utils.BuildSimpleTemplate({0x17a5df0, 0xc0002e5340}, {0x1550dd3, 0x1a}, {0xc000618208, 0x1, 0x1})
	.../internal/utils/template.go:236 +0x128
github..../tests/api/templates.TestUpdateTemplateVisibilityToPublicWithAPIKey(0xc0002e5340)
	.../api/templates/template_update_test.go:19 +0xb7
testing.tRunner(0xc0002e5340, 0x1596f18)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 100 [sleep]:
time.Sleep(0x3b9aca00)
	.../hostedtoolcache/go/1.25.9.../src/runtime/time.go:363 +0x165
github..../integration/internal/utils.WaitForBuildCompletion({0x17a5df0, 0xc0002e56c0}, {0x178fac8, 0xc000278460}, {0xc0005d6420, 0x14}, {0xc00004adb0, 0x24}, {0x1552506, 0x1b}, ...)
	.../internal/utils/template.go:151 +0xe5
github..../integration/internal/utils.BuildTemplate({0x17a5df0, 0xc0002e56c0}, {{0x1552506, 0x1b}, 0x0, 0xc0000157a8, 0xc0000157ac, {0x0, 0xc00013f4f0, 0x0, ...}, ...})
	.../internal/utils/template.go:85 +0x325
github..../integration/internal/utils.BuildSimpleTemplate({0x17a5df0, 0xc0002e56c0}, {0x1552506, 0x1b}, {0xc0006181c8, 0x1, 0x1})
	.../internal/utils/template.go:236 +0x128
github..../tests/api/templates.TestUpdateTemplateVisibilityToPrivateWithAPIKey(0xc0002e56c0)
	.../api/templates/template_update_test.go:58 +0xb7
testing.tRunner(0xc0002e56c0, 0x1596f10)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 3431 [select, 1 minutes]:
github..../pgx/v5/pgxpool.(*Pool).backgroundHealthCheck(0xc00045a380)
	.../pkg/mod/github.com.........................../jackc/pgx/v5@v5.9.2/pgxpool/pool.go:495 +0xc7
github..../pgx/v5/pgxpool.NewWithConfig.func5()
	.../pkg/mod/github.com.........................../jackc/pgx/v5@v5.9.2/pgxpool/pool.go:338 +0x3d
created by github..../pgx/v5/pgxpool.NewWithConfig in goroutine 68
	.../pkg/mod/github.com.........................../jackc/pgx/v5@v5.9.2/pgxpool/pool.go:335 +0x43e

goroutine 46 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0002f28c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildRUN.func1(0xc0002f28c0)
	.../api/templates/build_template_test.go:165 +0x2f
testing.tRunner(0xc0002f28c0, 0xc00073db00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 50
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1997 +0x465

goroutine 6711 [select]:
net/http.(*persistConn).writeLoop(0xc000306240)
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2600 +0xe7
created by net/http.(*Transport).dialConn in goroutine 6669
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:1948 +0x17a5

goroutine 6710 [IO wait]:
internal/poll.runtime_pollWait(0x7f6e0c767800, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc0002b8980?, 0xc000410000?, 0x0)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0002b8980, {0xc000410000, 0x1000, 0x1000})
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:165 +0x279
net.(*netFD).Read(0xc0002b8980, {0xc000410000?, 0x40bc34?, 0x0?})
	.../hostedtoolcache/go/1.25.9.../src/net/fd_posix.go:68 +0x25
net.(*conn).Read(0xc00011c7b8, {0xc000410000?, 0x40ba13?, 0xc000692270?})
	.../hostedtoolcache/go/1.25.9.../src/net/net.go:196 +0x45
net/http.(*persistConn).Read(0xc000306240, {0xc000410000?, 0x79cda5?, 0x1780020?})
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2125 +0x47
bufio.(*Reader).fill(0xc000548780)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:113 +0x103
bufio.(*Reader).Peek(0xc000548780, 0x1)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:152 +0x53
net/http.(*persistConn).readLoop(0xc000306240)
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2278 +0x172
created by net/http.(*Transport).dialConn in goroutine 6669
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:1947 +0x174f

goroutine 6729 [select]:
net/http.(*persistConn).writeLoop(0xc000562480)
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2600 +0xe7
created by net/http.(*Transport).dialConn in goroutine 6712
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:1948 +0x17a5

goroutine 6728 [IO wait]:
internal/poll.runtime_pollWait(0x7f6e0c767c00, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc0002b8c00?, 0xc00038a000?, 0x0)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0002b8c00, {0xc00038a000, 0x1000, 0x1000})
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:165 +0x279
net.(*netFD).Read(0xc0002b8c00, {0xc00038a000?, 0x40bc34?, 0x0?})
	.../hostedtoolcache/go/1.25.9.../src/net/fd_posix.go:68 +0x25
net.(*conn).Read(0xc0007920c8, {0xc00038a000?, 0x40ba13?, 0xc000692270?})
	.../hostedtoolcache/go/1.25.9.../src/net/net.go:196 +0x45
net/http.(*persistConn).Read(0xc000562480, {0xc00038a000?, 0x79cda5?, 0x1780020?})
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2125 +0x47
bufio.(*Reader).fill(0xc00041c840)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:113 +0x103
bufio.(*Reader).Peek(0xc00041c840, 0x1)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:152 +0x53
net/http.(*persistConn).readLoop(0xc000562480)
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2278 +0x172
created by net/http.(*Transport).dialConn in goroutine 6712
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:1947 +0x174f
FAIL	github..../tests/api/templates	600.528s
github.com/e2b-dev/infra/packages/orchestrator/cmd/smoketest::TestSmokeAllFCVersions

Flake rate in main: 100.00% (Passed 0 times, Failed 1 times)

Stack Traces | 0s run time
=== RUN   TestSmokeAllFCVersions
    smoke_test.go:57: building envd from .../infra/packages/envd
    smoke_test.go:57: built envd: .../infra/packages/envd/bin/envd
    smoke_test.go:62: downloading https://storage.googleapis..../e2b-prod-public-builds/kernels/vmlinux-6.1.158/vmlinux.bin
    smoke_test.go:64: downloading https://github..../releases/download/v1.10.1_30cbb07/firecracker
    smoke_test.go:64: downloading https://github..../releases/download/v1.12.1_210cbac/firecracker-amd64
    smoke_test.go:64: downloading https://github..../releases/download/v1.14.1_458ca91/firecracker-amd64
=== RUN   TestSmokeAllFCVersions/fc-v1.10
    smoke_test.go:78: creating build 96ba35a2-0563-404b-8973-7b4182f49f45 with FC v1.10.1_30cbb07
->> [stderr] mke2fs 1.47.0 (5-Feb-2023)
->> [stdout] Creating regular file .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build
->> [stdout] 64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Pass -O 64bit to rectify.
->> [stdout] Creating filesystem with 6400000 4k blocks and 6400576 inodes
Filesystem UUID: 20e4fc22-e9b4-4d90-808f-52b968a82c3c
Superblock backups stored on blocks: 
	32768, 6389760
->> [stdout] Allocating group tables:
->> [stdout] 0/196�������
->> [stdout] �������done
->> [stdout] Writing inode tables:   0/196�������       �������done
->> [stdout] Creating journal (32768 blocks):
->> [stdout] done
Writing superblocks and filesystem accounting information:
->> [stdout] 0/196�������
->> [stdout] �������
->> [stdout] done
->> [stderr] resize2fs 1.47.0 (5-Feb-2023)
->> [stdout] Resizing the filesystem on .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build to 131072 (4k) blocks.
The filesystem on .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build is now 131072 (4k) blocks long.
->> [stdout] tune2fs 1.47.0 (5-Feb-2023)
->> [stderr] resize2fs 1.47.0 (5-Feb-2023)
->> [stdout] Resizing the filesystem on .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build to 202240 (4k) blocks.
The filesystem on .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build is now 202240 (4k) blocks long.
2026/05/04 22:00:23 tcpproxy: for incoming conn 10.11.0.2:44268, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:00:38 tcpproxy: for incoming conn 10.11.0.2:50474, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:00:53 tcpproxy: for incoming conn 10.11.0.2:40196, error dialing "91.189.91.82:80": dial tcp 91.189.91.82:80: i/o timeout
2026/05/04 22:01:08 tcpproxy: for incoming conn 10.11.0.2:52924, error dialing "185.125.190.83:80": dial tcp 185.125.190.83:80: i/o timeout
2026/05/04 22:01:54 tcpproxy: for incoming conn 10.11.0.2:37936, error dialing "91.189.91.82:80": dial tcp 91.189.91.82:80: i/o timeout
2026/05/04 22:02:38 tcpproxy: for incoming conn 10.11.0.2:33162, error dialing "91.189.91.81:80": dial tcp 91.189.91.81:80: i/o timeout
2026/05/04 22:02:56 tcpproxy: for incoming conn 10.11.0.2:57332, error dialing "91.189.91.83:80": dial tcp 91.189.91.83:80: i/o timeout
2026/05/04 22:04:08 tcpproxy: for incoming conn 10.11.0.2:57244, error dialing "91.189.92.24:80": dial tcp 91.189.92.24:80: i/o timeout
2026/05/04 22:04:38 tcpproxy: for incoming conn 10.11.0.2:56570, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:05:08 tcpproxy: for incoming conn 10.11.0.2:43446, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:06:08 tcpproxy: for incoming conn 10.11.0.2:58658, error dialing "91.189.91.83:80": dial tcp 91.189.91.83:80: i/o timeout
2026/05/04 22:08:26 tcpproxy: for incoming conn 10.11.0.2:59834, error dialing "185.125.190.83:80": dial tcp 185.125.190.83:80: i/o timeout
2026/05/04 22:08:56 tcpproxy: for incoming conn 10.11.0.2:53500, error dialing "91.189.92.24:80": dial tcp 91.189.92.24:80: i/o timeout
2026/05/04 22:10:11 tcpproxy: for incoming conn 10.11.0.2:53846, error dialing "185.125.190.81:80": dial tcp 185.125.190.81:80: i/o timeout
2026/05/04 22:10:41 tcpproxy: for incoming conn 10.11.0.2:38696, error dialing "91.189.92.24:80": dial tcp 91.189.92.24:80: i/o timeout
2026/05/04 22:12:56 tcpproxy: for incoming conn 10.11.0.2:33990, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:13:26 tcpproxy: for incoming conn 10.11.0.2:48132, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:14:26 tcpproxy: for incoming conn 10.11.0.2:52006, error dialing "91.189.91.82:80": dial tcp 91.189.91.82:80: i/o timeout
2026/05/04 22:14:56 tcpproxy: for incoming conn 10.11.0.2:34860, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:15:26 tcpproxy: for incoming conn 10.11.0.2:41486, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:15:56 tcpproxy: for incoming conn 10.11.0.2:57976, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:16:26 tcpproxy: for incoming conn 10.11.0.2:43924, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:16:56 tcpproxy: for incoming conn 10.11.0.2:43580, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:17:26 tcpproxy: for incoming conn 10.11.0.2:35244, error dialing "185.125.190.81:80": dial tcp 185.125.190.81:80: i/o timeout
2026/05/04 22:17:56 tcpproxy: for incoming conn 10.11.0.2:57056, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:18:26 tcpproxy: for incoming conn 10.11.0.2:49536, error dialing "91.189.91.82:80": dial tcp 91.189.91.82:80: i/o timeout
2026/05/04 22:18:56 tcpproxy: for incoming conn 10.11.0.2:48318, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:19:26 tcpproxy: for incoming conn 10.11.0.2:44778, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
coverage: [no statements]
github.com/e2b-dev/infra/packages/orchestrator/cmd/smoketest::TestSmokeAllFCVersions/fc-v1.10

Flake rate in main: 100.00% (Passed 0 times, Failed 1 times)

Stack Traces | 0s run time
=== RUN   TestSmokeAllFCVersions/fc-v1.10
    smoke_test.go:78: creating build 96ba35a2-0563-404b-8973-7b4182f49f45 with FC v1.10.1_30cbb07
->> [stderr] mke2fs 1.47.0 (5-Feb-2023)
->> [stdout] Creating regular file .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build
->> [stdout] 64-bit filesystem support is not enabled.  The larger fields afforded by this feature enable full-strength checksumming.  Pass -O 64bit to rectify.
->> [stdout] Creating filesystem with 6400000 4k blocks and 6400576 inodes
Filesystem UUID: 20e4fc22-e9b4-4d90-808f-52b968a82c3c
Superblock backups stored on blocks: 
	32768, 6389760
->> [stdout] Allocating group tables:
->> [stdout] 0/196�������
->> [stdout] �������done
->> [stdout] Writing inode tables:   0/196�������       �������done
->> [stdout] Creating journal (32768 blocks):
->> [stdout] done
Writing superblocks and filesystem accounting information:
->> [stdout] 0/196�������
->> [stdout] �������
->> [stdout] done
->> [stderr] resize2fs 1.47.0 (5-Feb-2023)
->> [stdout] Resizing the filesystem on .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build to 131072 (4k) blocks.
The filesystem on .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build is now 131072 (4k) blocks long.
->> [stdout] tune2fs 1.47.0 (5-Feb-2023)
->> [stderr] resize2fs 1.47.0 (5-Feb-2023)
->> [stdout] Resizing the filesystem on .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build to 202240 (4k) blocks.
The filesystem on .../build-templates/69ce08fc-fff5-4477-99c6-bfe904459134/rootfs.filesystem.build is now 202240 (4k) blocks long.
2026/05/04 22:00:23 tcpproxy: for incoming conn 10.11.0.2:44268, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:00:38 tcpproxy: for incoming conn 10.11.0.2:50474, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:00:53 tcpproxy: for incoming conn 10.11.0.2:40196, error dialing "91.189.91.82:80": dial tcp 91.189.91.82:80: i/o timeout
2026/05/04 22:01:08 tcpproxy: for incoming conn 10.11.0.2:52924, error dialing "185.125.190.83:80": dial tcp 185.125.190.83:80: i/o timeout
2026/05/04 22:01:54 tcpproxy: for incoming conn 10.11.0.2:37936, error dialing "91.189.91.82:80": dial tcp 91.189.91.82:80: i/o timeout
2026/05/04 22:02:38 tcpproxy: for incoming conn 10.11.0.2:33162, error dialing "91.189.91.81:80": dial tcp 91.189.91.81:80: i/o timeout
2026/05/04 22:02:56 tcpproxy: for incoming conn 10.11.0.2:57332, error dialing "91.189.91.83:80": dial tcp 91.189.91.83:80: i/o timeout
2026/05/04 22:04:08 tcpproxy: for incoming conn 10.11.0.2:57244, error dialing "91.189.92.24:80": dial tcp 91.189.92.24:80: i/o timeout
2026/05/04 22:04:38 tcpproxy: for incoming conn 10.11.0.2:56570, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:05:08 tcpproxy: for incoming conn 10.11.0.2:43446, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:06:08 tcpproxy: for incoming conn 10.11.0.2:58658, error dialing "91.189.91.83:80": dial tcp 91.189.91.83:80: i/o timeout
2026/05/04 22:08:26 tcpproxy: for incoming conn 10.11.0.2:59834, error dialing "185.125.190.83:80": dial tcp 185.125.190.83:80: i/o timeout
2026/05/04 22:08:56 tcpproxy: for incoming conn 10.11.0.2:53500, error dialing "91.189.92.24:80": dial tcp 91.189.92.24:80: i/o timeout
2026/05/04 22:10:11 tcpproxy: for incoming conn 10.11.0.2:53846, error dialing "185.125.190.81:80": dial tcp 185.125.190.81:80: i/o timeout
2026/05/04 22:10:41 tcpproxy: for incoming conn 10.11.0.2:38696, error dialing "91.189.92.24:80": dial tcp 91.189.92.24:80: i/o timeout
2026/05/04 22:12:56 tcpproxy: for incoming conn 10.11.0.2:33990, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:13:26 tcpproxy: for incoming conn 10.11.0.2:48132, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:14:26 tcpproxy: for incoming conn 10.11.0.2:52006, error dialing "91.189.91.82:80": dial tcp 91.189.91.82:80: i/o timeout
2026/05/04 22:14:56 tcpproxy: for incoming conn 10.11.0.2:34860, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
2026/05/04 22:15:26 tcpproxy: for incoming conn 10.11.0.2:41486, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:15:56 tcpproxy: for incoming conn 10.11.0.2:57976, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:16:26 tcpproxy: for incoming conn 10.11.0.2:43924, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:16:56 tcpproxy: for incoming conn 10.11.0.2:43580, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:17:26 tcpproxy: for incoming conn 10.11.0.2:35244, error dialing "185.125.190.81:80": dial tcp 185.125.190.81:80: i/o timeout
2026/05/04 22:17:56 tcpproxy: for incoming conn 10.11.0.2:57056, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:18:26 tcpproxy: for incoming conn 10.11.0.2:49536, error dialing "91.189.91.82:80": dial tcp 91.189.91.82:80: i/o timeout
2026/05/04 22:18:56 tcpproxy: for incoming conn 10.11.0.2:48318, error dialing "185.125.190.82:80": dial tcp 185.125.190.82:80: i/o timeout
2026/05/04 22:19:26 tcpproxy: for incoming conn 10.11.0.2:44778, error dialing "91.189.92.23:80": dial tcp 91.189.92.23:80: i/o timeout
coverage: [no statements]
github.com/e2b-dev/infra/tests/integration/internal/tests/api/metrics::TestTeamMetrics

Flake rate in main: 57.14% (Passed 3 times, Failed 4 times)

Stack Traces | 2.41s run time
=== RUN   TestTeamMetrics
=== PAUSE TestTeamMetrics
=== CONT  TestTeamMetrics
    team_metrics_test.go:61: 
        	Error Trace:	.../api/metrics/team_metrics_test.go:61
        	Error:      	Should be true
        	Test:       	TestTeamMetrics
        	Messages:   	MaxConcurrentSandboxes should be >= 0
--- FAIL: TestTeamMetrics (2.41s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowAll

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallAllowAll
=== PAUSE TestEgressFirewallAllowAll
=== CONT  TestEgressFirewallAllowAll
    sandbox_network_out_test.go:303: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowAll (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowAllDomainsWildcard

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallAllowAllDomainsWildcard
=== PAUSE TestEgressFirewallAllowAllDomainsWildcard
=== CONT  TestEgressFirewallAllowAllDomainsWildcard
    sandbox_network_out_test.go:601: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowAllDomainsWildcard (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowAllDuplicate

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallAllowAllDuplicate
=== PAUSE TestEgressFirewallAllowAllDuplicate
=== CONT  TestEgressFirewallAllowAllDuplicate
    sandbox_network_out_test.go:471: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowAllDuplicate (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowAndBlockCombination

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallAllowAndBlockCombination
=== PAUSE TestEgressFirewallAllowAndBlockCombination
=== CONT  TestEgressFirewallAllowAndBlockCombination
    sandbox_network_out_test.go:211: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowAndBlockCombination (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowCIDRRange

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallAllowCIDRRange
=== PAUSE TestEgressFirewallAllowCIDRRange
=== CONT  TestEgressFirewallAllowCIDRRange
    sandbox_network_out_test.go:161: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowCIDRRange (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowDomainAndIP

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 292s run time
=== RUN   TestEgressFirewallAllowDomainAndIP
=== PAUSE TestEgressFirewallAllowDomainAndIP
=== CONT  TestEgressFirewallAllowDomainAndIP
    sandbox_network_out_test.go:654: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowDomainAndIP (292.36s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowDomainThroughBlockedInternet

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallAllowDomainThroughBlockedInternet
=== PAUSE TestEgressFirewallAllowDomainThroughBlockedInternet
=== CONT  TestEgressFirewallAllowDomainThroughBlockedInternet
    sandbox_network_out_test.go:522: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowDomainThroughBlockedInternet (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowOverridesBlock

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 293s run time
=== RUN   TestEgressFirewallAllowOverridesBlock
=== PAUSE TestEgressFirewallAllowOverridesBlock
=== CONT  TestEgressFirewallAllowOverridesBlock
    sandbox_network_out_test.go:328: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowOverridesBlock (292.51s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowSpecificIP

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallAllowSpecificIP
=== PAUSE TestEgressFirewallAllowSpecificIP
=== CONT  TestEgressFirewallAllowSpecificIP
    sandbox_network_out_test.go:110: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowSpecificIP (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallAllowWildcardDomainThroughBlockedInternet

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallAllowWildcardDomainThroughBlockedInternet
=== PAUSE TestEgressFirewallAllowWildcardDomainThroughBlockedInternet
=== CONT  TestEgressFirewallAllowWildcardDomainThroughBlockedInternet
    sandbox_network_out_test.go:548: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowWildcardDomainThroughBlockedInternet (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallBlockCIDRRange

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallBlockCIDRRange
=== PAUSE TestEgressFirewallBlockCIDRRange
=== CONT  TestEgressFirewallBlockCIDRRange
    sandbox_network_out_test.go:186: Network test template was not built successfully
--- FAIL: TestEgressFirewallBlockCIDRRange (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallBlockSpecificIP

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallBlockSpecificIP
=== PAUSE TestEgressFirewallBlockSpecificIP
=== CONT  TestEgressFirewallBlockSpecificIP
    sandbox_network_out_test.go:136: Network test template was not built successfully
--- FAIL: TestEgressFirewallBlockSpecificIP (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallDNSSpoofingNeutralized

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallDNSSpoofingNeutralized
=== PAUSE TestEgressFirewallDNSSpoofingNeutralized
=== CONT  TestEgressFirewallDNSSpoofingNeutralized
    sandbox_network_out_test.go:846: Network test template was not built successfully
--- FAIL: TestEgressFirewallDNSSpoofingNeutralized (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallDomainCaseInsensitive

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 292s run time
=== RUN   TestEgressFirewallDomainCaseInsensitive
=== PAUSE TestEgressFirewallDomainCaseInsensitive
=== CONT  TestEgressFirewallDomainCaseInsensitive
    sandbox_network_out_test.go:628: Network test template was not built successfully
--- FAIL: TestEgressFirewallDomainCaseInsensitive (292.22s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallDomainPersistsAfterResume

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallDomainPersistsAfterResume
=== PAUSE TestEgressFirewallDomainPersistsAfterResume
=== CONT  TestEgressFirewallDomainPersistsAfterResume
    sandbox_network_out_test.go:710: Network test template was not built successfully
--- FAIL: TestEgressFirewallDomainPersistsAfterResume (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallEmptyConfig

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallEmptyConfig
=== PAUSE TestEgressFirewallEmptyConfig
=== CONT  TestEgressFirewallEmptyConfig
    sandbox_network_out_test.go:280: Network test template was not built successfully
--- FAIL: TestEgressFirewallEmptyConfig (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallExactDomainMatchVsSubdomain

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallExactDomainMatchVsSubdomain
=== PAUSE TestEgressFirewallExactDomainMatchVsSubdomain
=== CONT  TestEgressFirewallExactDomainMatchVsSubdomain
    sandbox_network_out_test.go:575: Network test template was not built successfully
--- FAIL: TestEgressFirewallExactDomainMatchVsSubdomain (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallHTTPDomainFiltering

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallHTTPDomainFiltering
=== PAUSE TestEgressFirewallHTTPDomainFiltering
=== CONT  TestEgressFirewallHTTPDomainFiltering
    sandbox_network_out_test.go:758: Network test template was not built successfully
--- FAIL: TestEgressFirewallHTTPDomainFiltering (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallHTTPSByIPNoHostname

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 300s run time
=== RUN   TestEgressFirewallHTTPSByIPNoHostname
=== PAUSE TestEgressFirewallHTTPSByIPNoHostname
=== CONT  TestEgressFirewallHTTPSByIPNoHostname
    sandbox_network_out_test.go:30: Building custom template for network egress tests...
    template.go:44: network-egress-test: [info] Building template 7zr19ztgywfcotz5299a/c65dca80-7a8d-4e10-858d-ef03c7f7cf34
    template.go:44: network-egress-test: [info] [base] FROM ubuntu:22.04 [5823df41a1ad265b341cb285ff57d03b0db70b4639e91dec0dcb5b4711000a44]
    template.go:44: network-egress-test: [info] Base Docker image size: 30 MB
    template.go:44: network-egress-test: [info] Creating file system and pulling Docker image
    template.go:44: network-egress-test: [info] Uncompressing layer sha256:f63eb04151bcac21ad049f8d781b97b219aba392c5457907f8f3e88e43eb48ec 30 MB
    template.go:44: network-egress-test: [info] Uncompressing layer sha256:5c4cbd81304746919f7c3d4514ce10a7fe23daff5f7d189b7ed0ec63d7285e1a 12 MB
    template.go:44: network-egress-test: [info] Uncompressing layer sha256:8c4b1b28875140ed3abacaf16ad0d696f6bef912f52d2148f261a23e3349465b 168 B
    template.go:44: network-egress-test: [info] Layers extracted
    template.go:44: network-egress-test: [info] Root filesystem structure: bin, boot, dev, etc, home, lib, lib32, lib64, libx32, media, mnt, opt, proc, root, run, sbin, srv, sys, tmp, usr, var
    template.go:44: network-egress-test: [info] Provisioning sandbox template
    sandbox_network_out_test.go:32: Build timeout exceeded
--- FAIL: TestEgressFirewallHTTPSByIPNoHostname (300.13s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallMultipleAllowedIPs

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallMultipleAllowedIPs
=== PAUSE TestEgressFirewallMultipleAllowedIPs
=== CONT  TestEgressFirewallMultipleAllowedIPs
    sandbox_network_out_test.go:354: Network test template was not built successfully
--- FAIL: TestEgressFirewallMultipleAllowedIPs (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallPersistsAfterResume

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallPersistsAfterResume
=== PAUSE TestEgressFirewallPersistsAfterResume
=== CONT  TestEgressFirewallPersistsAfterResume
    sandbox_network_out_test.go:237: Network test template was not built successfully
--- FAIL: TestEgressFirewallPersistsAfterResume (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallPrivateIPRangesAlwaysBlocked

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallPrivateIPRangesAlwaysBlocked
=== PAUSE TestEgressFirewallPrivateIPRangesAlwaysBlocked
=== CONT  TestEgressFirewallPrivateIPRangesAlwaysBlocked
    sandbox_network_out_test.go:410: Network test template was not built successfully
--- FAIL: TestEgressFirewallPrivateIPRangesAlwaysBlocked (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallRegularIPThenAllowAll

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallRegularIPThenAllowAll
=== PAUSE TestEgressFirewallRegularIPThenAllowAll
=== CONT  TestEgressFirewallRegularIPThenAllowAll
    sandbox_network_out_test.go:496: Network test template was not built successfully
--- FAIL: TestEgressFirewallRegularIPThenAllowAll (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallUDPAllowedCIDR

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallUDPAllowedCIDR
=== PAUSE TestEgressFirewallUDPAllowedCIDR
=== CONT  TestEgressFirewallUDPAllowedCIDR
    sandbox_network_out_test.go:814: Network test template was not built successfully
--- FAIL: TestEgressFirewallUDPAllowedCIDR (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallUDPAllowedIP

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallUDPAllowedIP
=== PAUSE TestEgressFirewallUDPAllowedIP
=== CONT  TestEgressFirewallUDPAllowedIP
    sandbox_network_out_test.go:788: Network test template was not built successfully
--- FAIL: TestEgressFirewallUDPAllowedIP (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestEgressFirewallWithInternetAccessFalse

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestEgressFirewallWithInternetAccessFalse
=== PAUSE TestEgressFirewallWithInternetAccessFalse
=== CONT  TestEgressFirewallWithInternetAccessFalse
    sandbox_network_out_test.go:381: Network test template was not built successfully
--- FAIL: TestEgressFirewallWithInternetAccessFalse (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestGPGKeyserverWorks

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestGPGKeyserverWorks
=== PAUSE TestGPGKeyserverWorks
=== CONT  TestGPGKeyserverWorks
    sandbox_network_out_test.go:978: Network test template was not built successfully
--- FAIL: TestGPGKeyserverWorks (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestNoNetworkConfig_SSHWorks

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestNoNetworkConfig_SSHWorks
=== PAUSE TestNoNetworkConfig_SSHWorks
=== CONT  TestNoNetworkConfig_SSHWorks
    sandbox_network_out_test.go:900: Network test template was not built successfully
--- FAIL: TestNoNetworkConfig_SSHWorks (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestUpdateNetworkConfig

Flake rate in main: 58.33% (Passed 5 times, Failed 7 times)

Stack Traces | 0s run time
=== RUN   TestUpdateNetworkConfig
=== PAUSE TestUpdateNetworkConfig
=== CONT  TestUpdateNetworkConfig
    sandbox_network_update_test.go:70: Network test template was not built successfully
--- FAIL: TestUpdateNetworkConfig (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestWithNetworkConfig_SSHWorks

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestWithNetworkConfig_SSHWorks
=== PAUSE TestWithNetworkConfig_SSHWorks
=== CONT  TestWithNetworkConfig_SSHWorks
    sandbox_network_out_test.go:935: Network test template was not built successfully
--- FAIL: TestWithNetworkConfig_SSHWorks (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestAssignmentOrderingAfterTagReassignment

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestAssignmentOrderingAfterTagReassignment
=== PAUSE TestAssignmentOrderingAfterTagReassignment
=== CONT  TestAssignmentOrderingAfterTagReassignment
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestAssignmentOrderingLatestWins

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestAssignmentOrderingLatestWins
=== PAUSE TestAssignmentOrderingLatestWins
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestDeleteTemplate

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestDeleteTemplate
=== PAUSE TestDeleteTemplate
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestDeleteTemplateFromAnotherTeamAPIKey

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestDeleteTemplateFromAnotherTeamAPIKey
=== PAUSE TestDeleteTemplateFromAnotherTeamAPIKey
=== CONT  TestDeleteTemplateFromAnotherTeamAPIKey
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] Building template lwy8qp674b324p4ag9z4/db00fea7-70e7-4006-ba7e-c80890f5769f
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] [base] FROM ubuntu:22.04 [5823df41a1ad265b341cb285ff57d03b0db70b4639e91dec0dcb5b4711000a44]
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] Base Docker image size: 30 MB
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] Creating file system and pulling Docker image
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] Uncompressing layer sha256:f63eb04151bcac21ad049f8d781b97b219aba392c5457907f8f3e88e43eb48ec 30 MB
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] Uncompressing layer sha256:5c4cbd81304746919f7c3d4514ce10a7fe23daff5f7d189b7ed0ec63d7285e1a 12 MB
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] Uncompressing layer sha256:8c4b1b28875140ed3abacaf16ad0d696f6bef912f52d2148f261a23e3349465b 168 B
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] Layers extracted
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] Root filesystem structure: bin, boot, dev, etc, home, lib, lib32, lib64, libx32, media, mnt, opt, proc, root, run, sbin, srv, sys, tmp, usr, var
    build_template_test.go:134: test-to-delete-another-team-api-key: [info] Provisioning sandbox template
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestDeleteTemplateFromAnotherTeamAccessToken

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestDeleteTemplateFromAnotherTeamAccessToken
=== PAUSE TestDeleteTemplateFromAnotherTeamAccessToken
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestDeleteTemplateWithAccessToken

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestDeleteTemplateWithAccessToken
=== PAUSE TestDeleteTemplateWithAccessToken
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestListTemplatesWithAccessToken

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestListTemplatesWithAccessToken
=== PAUSE TestListTemplatesWithAccessToken
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestMultipleTagsOnSameTemplate

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestMultipleTagsOnSameTemplate
=== PAUSE TestMultipleTagsOnSameTemplate
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestSandboxCreateWithAliasAndTag

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestSandboxCreateWithAliasAndTag
=== PAUSE TestSandboxCreateWithAliasAndTag
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestSandboxCreateWithDefaultTag

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestSandboxCreateWithDefaultTag
=== PAUSE TestSandboxCreateWithDefaultTag
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestSandboxCreateWithNonExistentTag

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestSandboxCreateWithNonExistentTag
=== PAUSE TestSandboxCreateWithNonExistentTag
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestSandboxCreateWithTag

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestSandboxCreateWithTag
=== PAUSE TestSandboxCreateWithTag
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTagReassignment

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 300s run time
=== RUN   TestTagReassignment
=== PAUSE TestTagReassignment
=== CONT  TestTagReassignment
    template_tags_test.go:330: Build timeout exceeded
--- FAIL: TestTagReassignment (300.35s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildCOPY

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildCOPY
=== PAUSE TestTemplateBuildCOPY
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildCache

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildCache
=== PAUSE TestTemplateBuildCache
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildENV

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildENV
=== PAUSE TestTemplateBuildENV
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildFromTemplate

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildFromTemplate
=== PAUSE TestTemplateBuildFromTemplate
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildFromTemplateBaseCommandsInheritance

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildFromTemplateBaseCommandsInheritance
=== PAUSE TestTemplateBuildFromTemplateBaseCommandsInheritance
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildFromTemplateCommandOverride

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildFromTemplateCommandOverride
=== PAUSE TestTemplateBuildFromTemplateCommandOverride
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildFromTemplateInheritance

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildFromTemplateInheritance
=== PAUSE TestTemplateBuildFromTemplateInheritance
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildFromTemplateLayered

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildFromTemplateLayered
=== PAUSE TestTemplateBuildFromTemplateLayered
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildFromTemplateStartCommand

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildFromTemplateStartCommand
=== PAUSE TestTemplateBuildFromTemplateStartCommand
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildFuseConfiguration

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildFuseConfiguration
=== PAUSE TestTemplateBuildFuseConfiguration
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildInstalledPackagesAvailable

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildInstalledPackagesAvailable
=== PAUSE TestTemplateBuildInstalledPackagesAvailable
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildRUN

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildRUN
=== PAUSE TestTemplateBuildRUN
=== CONT  TestTemplateBuildRUN
=== RUN   TestTemplateBuildRUN/Single_RUN_command
=== PAUSE TestTemplateBuildRUN/Single_RUN_command
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildRUN/Single_RUN_command

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildRUN/Single_RUN_command
=== PAUSE TestTemplateBuildRUN/Single_RUN_command
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildStartReadyCommandExecution

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildStartReadyCommandExecution
=== PAUSE TestTemplateBuildStartReadyCommandExecution
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildWORKDIR

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildWORKDIR
=== PAUSE TestTemplateBuildWORKDIR
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildWithDifferentSourceImages

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildWithDifferentSourceImages
=== PAUSE TestTemplateBuildWithDifferentSourceImages
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildWithTagInAlias

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildWithTagInAlias
=== PAUSE TestTemplateBuildWithTagInAlias
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildWithTags

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildWithTags
=== PAUSE TestTemplateBuildWithTags
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateBuildWithTagsAndSandboxCreation

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateBuildWithTagsAndSandboxCreation
=== PAUSE TestTemplateBuildWithTagsAndSandboxCreation
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateTagAssign

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateTagAssign
=== PAUSE TestTemplateTagAssign
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateTagAssignFromSourceTag

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateTagAssignFromSourceTag
=== PAUSE TestTemplateTagAssignFromSourceTag
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateTagDeleteLatestNotAllowed

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateTagDeleteLatestNotAllowed
=== PAUSE TestTemplateTagDeleteLatestNotAllowed
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateTagInvalidTagName

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateTagInvalidTagName
=== PAUSE TestTemplateTagInvalidTagName
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestTemplateTagNotFoundForNonExistentTemplate

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestTemplateTagNotFoundForNonExistentTemplate
=== PAUSE TestTemplateTagNotFoundForNonExistentTemplate
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestUpdateTemplateNotOwnedByTeam

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 300s run time
=== RUN   TestUpdateTemplateNotOwnedByTeam
=== PAUSE TestUpdateTemplateNotOwnedByTeam
=== CONT  TestUpdateTemplateNotOwnedByTeam
    template_update_test.go:206: Build timeout exceeded
--- FAIL: TestUpdateTemplateNotOwnedByTeam (300.34s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestUpdateTemplateVisibilityToPrivateWithAPIKey

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestUpdateTemplateVisibilityToPrivateWithAPIKey
=== PAUSE TestUpdateTemplateVisibilityToPrivateWithAPIKey
=== CONT  TestUpdateTemplateVisibilityToPrivateWithAPIKey
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestUpdateTemplateVisibilityToPublicWithAPIKey

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 0s run time
=== RUN   TestUpdateTemplateVisibilityToPublicWithAPIKey
=== PAUSE TestUpdateTemplateVisibilityToPublicWithAPIKey
=== CONT  TestUpdateTemplateVisibilityToPublicWithAPIKey
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestUpdateTemplateWithInvalidAPIKey

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 300s run time
=== RUN   TestUpdateTemplateWithInvalidAPIKey
=== PAUSE TestUpdateTemplateWithInvalidAPIKey
=== CONT  TestUpdateTemplateWithInvalidAPIKey
    template_update_test.go:108: Build timeout exceeded
--- FAIL: TestUpdateTemplateWithInvalidAPIKey (300.31s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/templates::TestUpdateTemplateWithSupabaseToken

Flake rate in main: 100.00% (Passed 0 times, Failed 2 times)

Stack Traces | 300s run time
=== RUN   TestUpdateTemplateWithSupabaseToken
=== PAUSE TestUpdateTemplateWithSupabaseToken
=== CONT  TestUpdateTemplateWithSupabaseToken
    template_update_test.go:149: Build timeout exceeded
--- FAIL: TestUpdateTemplateWithSupabaseToken (300.33s)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.

Reviewed by Cursor Bugbot for commit 8503cb4. Configure here.

Acquire::Retries "10";
Acquire::http::Timeout "30";
Acquire::https::Timeout "30";
EOF
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Retry config only written when packages are missing

Medium Severity

The /etc/apt/apt.conf.d/80-retries file is created inside the if [ -n "$MISSING" ] block, so it's only written when there are packages to install. The comment says "Bake retry config into the image so user RUN apt-get steps… survive transient mirror flakiness," but if all required packages are already installed, the config file is never created and customer template RUN apt-get commands won't get retry protection.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 8503cb4. Configure here.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The APT retry configuration in provision.sh is only applied when packages are missing, which prevents it from being baked into the image for subsequent build steps if all required packages are already present.

Comment on lines +35 to +42
# Bake retry config into the image so user RUN apt-get steps and
# provision.sh both survive transient mirror flakiness.
mkdir -p /etc/apt/apt.conf.d
cat >/etc/apt/apt.conf.d/80-retries <<'EOF'
Acquire::Retries "10";
Acquire::http::Timeout "30";
Acquire::https::Timeout "30";
EOF
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The retry configuration is only created when missing packages are detected. This prevents the configuration from being baked into the image if all required packages are already present, which contradicts the goal of ensuring subsequent user-defined build steps benefit from these retries. Move the configuration creation and the directory initialization outside the conditional block to ensure they are always applied to the image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants