Skip to content

Return more details when acting on a paused/removed sandbox#2561

Draft
djeebus wants to merge 4 commits intomainfrom
infra-error-code
Draft

Return more details when acting on a paused/removed sandbox#2561
djeebus wants to merge 4 commits intomainfrom
infra-error-code

Conversation

@djeebus
Copy link
Copy Markdown
Contributor

@djeebus djeebus commented May 4, 2026

No description provided.

@cursor
Copy link
Copy Markdown

cursor Bot commented May 4, 2026

PR Summary

Medium Risk
Moderate risk because it changes API error semantics and adds new persisted kill/transition metadata in sandbox storage (Redis/memory), which may affect clients and state transitions if incorrect or leaked.

Overview
Returns 410 Gone (instead of 404/409) across multiple sandbox endpoints when the sandbox was killed, persisting kill metadata (reason, killedAt) in sandbox storage (Redis TTL + memory) and exposing it in error messages. Also enriches transitional-state errors by storing TransitionInfo on sandboxes and using it to build more detailed 409 Conflict messages; main concern is client compatibility with new status codes/response parsing and the correctness of kill/transition tracking (including the 24h Redis TTL and potential stale/missing kill info).

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

@codecov
Copy link
Copy Markdown

codecov Bot commented May 4, 2026

❌ 96 Tests Failed:

Tests completed Failed Passed Skipped
2303 96 2207 5
View the top 3 failed test(s) by shortest run time
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxErrorCodes_404NotFound
Stack Traces | 0s run time
=== RUN   TestSandboxErrorCodes_404NotFound
=== PAUSE TestSandboxErrorCodes_404NotFound
=== CONT  TestSandboxErrorCodes_404NotFound
--- FAIL: TestSandboxErrorCodes_404NotFound (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxErrorCodes_404NotFound/GET_non-existent_sandbox_returns_404
Stack Traces | 0s run time
=== RUN   TestSandboxErrorCodes_404NotFound/GET_non-existent_sandbox_returns_404
=== PAUSE TestSandboxErrorCodes_404NotFound/GET_non-existent_sandbox_returns_404
=== CONT  TestSandboxErrorCodes_404NotFound/GET_non-existent_sandbox_returns_404
    sandbox_error_codes_test.go:194: 
        	Error Trace:	.../api/sandboxes/sandbox_error_codes_test.go:194
        	Error:      	Not equal: 
        	            	expected: 404
        	            	actual  : 400
        	Test:       	TestSandboxErrorCodes_404NotFound/GET_non-existent_sandbox_returns_404
        	Messages:   	Expected 404 Not Found for non-existent sandbox, got 400
--- FAIL: TestSandboxErrorCodes_404NotFound/GET_non-existent_sandbox_returns_404 (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxErrorCodes_404NotFound/kill_non-existent_sandbox_returns_404
Stack Traces | 0s run time
=== RUN   TestSandboxErrorCodes_404NotFound/kill_non-existent_sandbox_returns_404
=== PAUSE TestSandboxErrorCodes_404NotFound/kill_non-existent_sandbox_returns_404
=== CONT  TestSandboxErrorCodes_404NotFound/kill_non-existent_sandbox_returns_404
    sandbox_error_codes_test.go:216: 
        	Error Trace:	.../api/sandboxes/sandbox_error_codes_test.go:216
        	Error:      	Not equal: 
        	            	expected: 404
        	            	actual  : 400
        	Test:       	TestSandboxErrorCodes_404NotFound/kill_non-existent_sandbox_returns_404
        	Messages:   	Expected 404 Not Found for non-existent sandbox, got 400
--- FAIL: TestSandboxErrorCodes_404NotFound/kill_non-existent_sandbox_returns_404 (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxErrorCodes_404NotFound/pause_non-existent_sandbox_returns_404
Stack Traces | 0s run time
=== RUN   TestSandboxErrorCodes_404NotFound/pause_non-existent_sandbox_returns_404
=== PAUSE TestSandboxErrorCodes_404NotFound/pause_non-existent_sandbox_returns_404
=== CONT  TestSandboxErrorCodes_404NotFound/pause_non-existent_sandbox_returns_404
    sandbox_error_codes_test.go:207: 
        	Error Trace:	.../api/sandboxes/sandbox_error_codes_test.go:207
        	Error:      	Not equal: 
        	            	expected: 404
        	            	actual  : 400
        	Test:       	TestSandboxErrorCodes_404NotFound/pause_non-existent_sandbox_returns_404
        	Messages:   	Expected 404 Not Found for non-existent sandbox, got 400
--- FAIL: TestSandboxErrorCodes_404NotFound/pause_non-existent_sandbox_returns_404 (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxErrorCodes_404NotFound/resume_non-existent_sandbox_returns_404
Stack Traces | 0s run time
=== RUN   TestSandboxErrorCodes_404NotFound/resume_non-existent_sandbox_returns_404
=== PAUSE TestSandboxErrorCodes_404NotFound/resume_non-existent_sandbox_returns_404
=== CONT  TestSandboxErrorCodes_404NotFound/resume_non-existent_sandbox_returns_404
    sandbox_error_codes_test.go:228: 
        	Error Trace:	.../api/sandboxes/sandbox_error_codes_test.go:228
        	Error:      	Not equal: 
        	            	expected: 404
        	            	actual  : 400
        	Test:       	TestSandboxErrorCodes_404NotFound/resume_non-existent_sandbox_returns_404
        	Messages:   	Expected 404 Not Found for non-existent sandbox, got 400
--- FAIL: TestSandboxErrorCodes_404NotFound/resume_non-existent_sandbox_returns_404 (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxErrorCodes_404NotFound/set_timeout_on_non-existent_sandbox_returns_404
Stack Traces | 0s run time
=== RUN   TestSandboxErrorCodes_404NotFound/set_timeout_on_non-existent_sandbox_returns_404
=== PAUSE TestSandboxErrorCodes_404NotFound/set_timeout_on_non-existent_sandbox_returns_404
=== CONT  TestSandboxErrorCodes_404NotFound/set_timeout_on_non-existent_sandbox_returns_404
    sandbox_error_codes_test.go:240: 
        	Error Trace:	.../api/sandboxes/sandbox_error_codes_test.go:240
        	Error:      	Not equal: 
        	            	expected: 404
        	            	actual  : 400
        	Test:       	TestSandboxErrorCodes_404NotFound/set_timeout_on_non-existent_sandbox_returns_404
        	Messages:   	Expected 404 Not Found for non-existent sandbox, got 400
--- FAIL: TestSandboxErrorCodes_404NotFound/set_timeout_on_non-existent_sandbox_returns_404 (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxErrorCodes_410Gone
Stack Traces | 0s run time
=== RUN   TestSandboxErrorCodes_410Gone
=== PAUSE TestSandboxErrorCodes_410Gone
=== CONT  TestSandboxErrorCodes_410Gone
--- FAIL: TestSandboxErrorCodes_410Gone (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxErrorCodes_410Gone/resume_killed_sandbox_returns_410_with_kill_info
Stack Traces | 0.4s run time
=== RUN   TestSandboxErrorCodes_410Gone/resume_killed_sandbox_returns_410_with_kill_info
=== PAUSE TestSandboxErrorCodes_410Gone/resume_killed_sandbox_returns_410_with_kill_info
=== CONT  TestSandboxErrorCodes_410Gone/resume_killed_sandbox_returns_410_with_kill_info
    sandbox_error_codes_test.go:126: 
        	Error Trace:	.../api/sandboxes/sandbox_error_codes_test.go:126
        	Error:      	Not equal: 
        	            	expected: 410
        	            	actual  : 404
        	Test:       	TestSandboxErrorCodes_410Gone/resume_killed_sandbox_returns_410_with_kill_info
        	Messages:   	Expected 410 Gone for killed sandbox, got 404
    sandbox_error_codes_test.go:130: 
        	Error Trace:	.../api/sandboxes/sandbox_error_codes_test.go:130
        	Error:      	"{\"code\":404,\"message\":\"Sandbox \\\"i3tq7gmr276ejcmddl6pb\\\" doesn't exist or you don't have access to it\"}" does not contain "was killed at"
        	Test:       	TestSandboxErrorCodes_410Gone/resume_killed_sandbox_returns_410_with_kill_info
        	Messages:   	Response should include kill timestamp
    sandbox_error_codes_test.go:131: 
        	Error Trace:	.../api/sandboxes/sandbox_error_codes_test.go:131
        	Error:      	"{\"code\":404,\"message\":\"Sandbox \\\"i3tq7gmr276ejcmddl6pb\\\" doesn't exist or you don't have access to it\"}" does not contain "via API request"
        	Test:       	TestSandboxErrorCodes_410Gone/resume_killed_sandbox_returns_410_with_kill_info
        	Messages:   	Response should include kill reason (API)
--- FAIL: TestSandboxErrorCodes_410Gone/resume_killed_sandbox_returns_410_with_kill_info (0.40s)
View the full list of 88 ❄️ flaky test(s)
::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 (4m59s)
		TestAssignmentOrderingLatestWins (4m59s)
		TestUpdateTemplateVisibilityToPrivateWithAPIKey (4m59s)
		TestUpdateTemplateVisibilityToPublicWithAPIKey (4m59s)

goroutine 6713 [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, 5 minutes]:
testing.tRunner.func1()
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1891 +0x451
testing.tRunner(0xc000485dc0, 0xc000063c70)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1940 +0x123
testing.runTests(0xc0001456b0, {0x222d4e0, 0x37, 0x37}, {0x7?, 0xc0003d8a40?, 0x223dc40?})
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2475 +0x4b4
testing.(*M).Run(0xc0001fe6e0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2337 +0x63a
main.main()
	_testmain.go:153 +0x9b

goroutine 16 [chan receive, 9 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0000fafc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildENV(0xc0000fafc0)
	.../api/templates/build_template_test.go:173 +0x2a
testing.tRunner(0xc0000fafc0, 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 50 [chan receive, 9 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0000fb340)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWORKDIR(0xc0000fb340)
	.../api/templates/build_template_test.go:380 +0x2a
testing.tRunner(0xc0000fb340, 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 51 [chan receive, 9 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0000fb6c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildCache(0xc0000fb6c0)
	.../api/templates/build_template_test.go:435 +0x2a
testing.tRunner(0xc0000fb6c0, 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 52 [chan receive, 9 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0000fba40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplate(0xc0000fba40)
	.../api/templates/build_template_test.go:471 +0x2a
testing.tRunner(0xc0000fba40, 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 53 [chan receive, 9 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0000fbdc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateCommandOverride(0xc0000fbdc0)
	.../api/templates/build_template_test.go:531 +0x2a
testing.tRunner(0xc0000fbdc0, 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 54 [chan receive, 9 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00050a540)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateInheritance(0xc00050a540)
	.../api/templates/build_template_test.go:601 +0x2a
testing.tRunner(0xc00050a540, 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 55 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00050a8c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateStartCommand(0xc00050a8c0)
	.../api/templates/build_template_test.go:662 +0x2a
testing.tRunner(0xc00050a8c0, 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 56 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00050ac40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateBaseCommandsInheritance(0xc00050ac40)
	.../api/templates/build_template_test.go:708 +0x2a
testing.tRunner(0xc00050ac40, 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 57 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00050afc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFromTemplateLayered(0xc00050afc0)
	.../api/templates/build_template_test.go:768 +0x2a
testing.tRunner(0xc00050afc0, 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 58 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00050b340)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildStartReadyCommandExecution(0xc00050b340)
	.../api/templates/build_template_test.go:857 +0x2a
testing.tRunner(0xc00050b340, 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 59 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00050b6c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWithDifferentSourceImages(0xc00050b6c0)
	.../api/templates/build_template_test.go:966 +0x2a
testing.tRunner(0xc00050b6c0, 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 60 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00050ba40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildInstalledPackagesAvailable(0xc00050ba40)
	.../api/templates/build_template_test.go:1024 +0x2a
testing.tRunner(0xc00050ba40, 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 61 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00050bdc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildCOPY(0xc00050bdc0)
	.../api/templates/build_template_test.go:1128 +0x2a
testing.tRunner(0xc00050bdc0, 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 62 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000582540)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildFuseConfiguration(0xc000582540)
	.../api/templates/build_template_test.go:1162 +0x27
testing.tRunner(0xc000582540, 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 63 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0005828c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestDeleteTemplate(0xc0005828c0)
	.../api/templates/delete_template_test.go:17 +0x2a
testing.tRunner(0xc0005828c0, 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 64 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000582c40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestDeleteTemplateWithAccessToken(0xc000582c40)
	.../api/templates/delete_template_test.go:44 +0x27
testing.tRunner(0xc000582c40, 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 65 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000582fc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestDeleteTemplateFromAnotherTeamAccessToken(0xc000582fc0)
	.../api/templates/delete_template_test.go:61 +0x27
testing.tRunner(0xc000582fc0, 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 66 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000583340)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestDeleteTemplateFromAnotherTeamAPIKey(0xc000583340)
	.../api/templates/delete_template_test.go:82 +0x2a
testing.tRunner(0xc000583340, 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 67 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0005836c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestRequestTemplateBuild(0xc0005836c0)
	.../api/templates/request_build_test.go:17 +0x27
testing.tRunner(0xc0005836c0, 0x1596de8)
	.../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 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000583a40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestRequestTemplateTooLowCPU(0xc000583a40)
	.../api/templates/request_build_test.go:29 +0x2a
testing.tRunner(0xc000583a40, 0x1596e10)
	.../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 69 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000583dc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestRequestTemplateTooLowRAM(0xc000583dc0)
	.../api/templates/request_build_test.go:43 +0x2a
testing.tRunner(0xc000583dc0, 0x1596e18)
	.../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 70 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000102a80)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestRequestTemplateTooHighCPU(0xc000102a80)
	.../api/templates/request_build_test.go:57 +0x27
testing.tRunner(0xc000102a80, 0x1596e00)
	.../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 71 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000102e00)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestRequestTemplateOddCPU(0xc000102e00)
	.../api/templates/request_build_test.go:71 +0x27
testing.tRunner(0xc000102e00, 0x1596df8)
	.../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 72 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0004341c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestRequestTemplateTooHighMemory(0xc0004341c0)
	.../api/templates/request_build_test.go:85 +0x2a
testing.tRunner(0xc0004341c0, 0x1596e08)
	.../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 73 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000434540)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestRequestTemplateMemoryNonDivisibleBy2(0xc000434540)
	.../api/templates/request_build_test.go:99 +0x27
testing.tRunner(0xc000434540, 0x1596df0)
	.../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 74 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0004348c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestInvalidBuildStatus(0xc0004348c0)
	.../api/templates/status_build_test.go:13 +0x27
testing.tRunner(0xc0004348c0, 0x1596da8)
	.../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 77 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000435340)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestListTemplatesWithAPIKeyAndMismatchedTeamID(0xc000435340)
	.../api/templates/template_list_test.go:55 +0x27
testing.tRunner(0xc000435340, 0x1596db8)
	.../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 78 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc0004356c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestListTemplatesWithInvalidAPIKey(0xc0004356c0)
	.../api/templates/template_list_test.go:77 +0x27
testing.tRunner(0xc0004356c0, 0x1596dd0)
	.../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 79 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000435a40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestListTemplatesWithSupabaseToken(0xc000435a40)
	.../api/templates/template_list_test.go:93 +0x27
testing.tRunner(0xc000435a40, 0x1596dd8)
	.../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 80 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc000435dc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestListTemplatesWithAccessToken(0xc000435dc0)
	.../api/templates/template_list_test.go:112 +0x27
testing.tRunner(0xc000435dc0, 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 81 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043a1c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagAssign(0xc00043a1c0)
	.../api/templates/template_tags_test.go:21 +0x3c
testing.tRunner(0xc00043a1c0, 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 82 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043a540)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagAssignFromSourceTag(0xc00043a540)
	.../api/templates/template_tags_test.go:52 +0x3c
testing.tRunner(0xc00043a540, 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 83 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043a8c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagDeleteLatestNotAllowed(0xc00043a8c0)
	.../api/templates/template_tags_test.go:87 +0x36
testing.tRunner(0xc00043a8c0, 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 84 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043ac40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestSandboxCreateWithTag(0xc00043ac40)
	.../api/templates/template_tags_test.go:108 +0x3c
testing.tRunner(0xc00043ac40, 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 85 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043afc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestSandboxCreateWithDefaultTag(0xc00043afc0)
	.../api/templates/template_tags_test.go:149 +0x3c
testing.tRunner(0xc00043afc0, 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 86 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043b340)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestSandboxCreateWithNonExistentTag(0xc00043b340)
	.../api/templates/template_tags_test.go:179 +0x3c
testing.tRunner(0xc00043b340, 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 87 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043b6c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestSandboxCreateWithAliasAndTag(0xc00043b6c0)
	.../api/templates/template_tags_test.go:199 +0x3c
testing.tRunner(0xc00043b6c0, 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 88 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043ba40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagNotFoundForNonExistentTemplate(0xc00043ba40)
	.../api/templates/template_tags_test.go:242 +0x36
testing.tRunner(0xc00043ba40, 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 89 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043bdc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateTagInvalidTagName(0xc00043bdc0)
	.../api/templates/template_tags_test.go:260 +0x36
testing.tRunner(0xc00043bdc0, 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 90 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043e1c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestMultipleTagsOnSameTemplate(0xc00043e1c0)
	.../api/templates/template_tags_test.go:278 +0x3c
testing.tRunner(0xc00043e1c0, 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 91 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043e540)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTagReassignment(0xc00043e540)
	.../api/templates/template_tags_test.go:320 +0x3c
testing.tRunner(0xc00043e540, 0x1596e40)
	.../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(0xc00043e8c0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWithTags(0xc00043e8c0)
	.../api/templates/template_tags_test.go:385 +0x3c
testing.tRunner(0xc00043e8c0, 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 93 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043ec40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWithTagsAndSandboxCreation(0xc00043ec40)
	.../api/templates/template_tags_test.go:424 +0x3c
testing.tRunner(0xc00043ec40, 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 94 [chan receive, 10 minutes]:
testing.(*testState).waitParallel(0xc00017eb40)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:2116 +0xaa
testing.(*T).Parallel(0xc00043efc0)
	.../hostedtoolcache/go/1.25.9.../src/testing/testing.go:1709 +0x245
github..../tests/api/templates.TestTemplateBuildWithTagInAlias(0xc00043efc0)
	.../api/templates/template_tags_test.go:466 +0x3c
testing.tRunner(0xc00043efc0, 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 95 [sleep]:
time.Sleep(0x3b9aca00)
	.../hostedtoolcache/go/1.25.9.../src/runtime/time.go:363 +0x165
github..../integration/internal/utils.WaitForBuildCompletion({0x17a5df0, 0xc00043f340}, {0x178fac8, 0xc0002c57a0}, {0xc00004e180, 0x14}, {0xc0003a8000, 0x24}, {0x1548e13, 0x14}, ...)
	.../internal/utils/template.go:151 +0xe5
github..../integration/internal/utils.BuildTemplate({0x17a5df0, 0xc00043f340}, {{0x1548e13, 0x14}, 0x0, 0xc000536fe0, 0xc000536fe4, {0x0, 0xc00024e1a0, 0x0, ...}, ...})
	.../internal/utils/template.go:85 +0x325
github..../tests/api/templates.TestAssignmentOrderingLatestWins(0xc00043f340)
	.../api/templates/template_tags_test.go:523 +0x352
testing.tRunner(0xc00043f340, 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 96 [sleep]:
time.Sleep(0x3b9aca00)
	.../hostedtoolcache/go/1.25.9.../src/runtime/time.go:363 +0x165
github..../integration/internal/utils.WaitForBuildCompletion({0x17a5df0, 0xc00043f6c0}, {0x178fac8, 0xc0002d7340}, {0xc00004e1e0, 0x14}, {0xc0003a80c0, 0x24}, {0x154b7b9, 0x16}, ...)
	.../internal/utils/template.go:151 +0xe5
github..../integration/internal/utils.BuildTemplate({0x17a5df0, 0xc00043f6c0}, {{0x154b7b9, 0x16}, 0x0, 0xc0002d969c, 0xc0002d96b0, {0x0, 0xc0007844c0, 0x0, ...}, ...})
	.../internal/utils/template.go:85 +0x325
github..../tests/api/templates.TestAssignmentOrderingAfterTagReassignment(0xc00043f6c0)
	.../api/templates/template_tags_test.go:590 +0x352
testing.tRunner(0xc00043f6c0, 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 97 [sleep]:
time.Sleep(0x3b9aca00)
	.../hostedtoolcache/go/1.25.9.../src/runtime/time.go:363 +0x165
github..../integration/internal/utils.WaitForBuildCompletion({0x17a5df0, 0xc00043fa40}, {0x178fac8, 0xc000229340}, {0xc000796060, 0x14}, {0xc0003800c0, 0x24}, {0x1550dd3, 0x1a}, ...)
	.../internal/utils/template.go:151 +0xe5
github..../integration/internal/utils.BuildTemplate({0x17a5df0, 0xc00043fa40}, {{0x1550dd3, 0x1a}, 0x0, 0xc0002606b8, 0xc0002606bc, {0x0, 0xc000634e50, 0x0, ...}, ...})
	.../internal/utils/template.go:85 +0x325
github..../integration/internal/utils.BuildSimpleTemplate({0x17a5df0, 0xc00043fa40}, {0x1550dd3, 0x1a}, {0xc0003280a0, 0x1, 0x1})
	.../internal/utils/template.go:236 +0x128
github..../tests/api/templates.TestUpdateTemplateVisibilityToPublicWithAPIKey(0xc00043fa40)
	.../api/templates/template_update_test.go:19 +0xb7
testing.tRunner(0xc00043fa40, 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 98 [sleep]:
time.Sleep(0x3b9aca00)
	.../hostedtoolcache/go/1.25.9.../src/runtime/time.go:363 +0x165
github..../integration/internal/utils.WaitForBuildCompletion({0x17a5df0, 0xc00043fdc0}, {0x178fac8, 0xc00029af50}, {0xc000796018, 0x14}, {0xc000380000, 0x24}, {0x1552506, 0x1b}, ...)
	.../internal/utils/template.go:151 +0xe5
github..../integration/internal/utils.BuildTemplate({0x17a5df0, 0xc00043fdc0}, {{0x1552506, 0x1b}, 0x0, 0xc000619318, 0xc00061931c, {0x0, 0xc0002d4110, 0x0, ...}, ...})
	.../internal/utils/template.go:85 +0x325
github..../integration/internal/utils.BuildSimpleTemplate({0x17a5df0, 0xc00043fdc0}, {0x1552506, 0x1b}, {0xc000882110, 0x1, 0x1})
	.../internal/utils/template.go:236 +0x128
github..../tests/api/templates.TestUpdateTemplateVisibilityToPrivateWithAPIKey(0xc00043fdc0)
	.../api/templates/template_update_test.go:58 +0xb7
testing.tRunner(0xc00043fdc0, 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 6695 [select]:
net/http.(*persistConn).writeLoop(0xc0006c25a0)
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2600 +0xe7
created by net/http.(*Transport).dialConn in goroutine 6707
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:1948 +0x17a5

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

goroutine 6694 [IO wait]:
internal/poll.runtime_pollWait(0x7f01352f3a00, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000186180?, 0xc00040e000?, 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(0xc000186180, {0xc00040e000, 0x1000, 0x1000})
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:165 +0x279
net.(*netFD).Read(0xc000186180, {0xc00040e000?, 0x40bc34?, 0x0?})
	.../hostedtoolcache/go/1.25.9.../src/net/fd_posix.go:68 +0x25
net.(*conn).Read(0xc000328068, {0xc00040e000?, 0x40ba13?, 0xc0004a02d0?})
	.../hostedtoolcache/go/1.25.9.../src/net/net.go:196 +0x45
net/http.(*persistConn).Read(0xc0006c25a0, {0xc00040e000?, 0x79cda5?, 0x1780020?})
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2125 +0x47
bufio.(*Reader).fill(0xc00068e840)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:113 +0x103
bufio.(*Reader).Peek(0xc00068e840, 0x1)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:152 +0x53
net/http.(*persistConn).readLoop(0xc0006c25a0)
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2278 +0x172
created by net/http.(*Transport).dialConn in goroutine 6707
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:1947 +0x174f

goroutine 6711 [IO wait]:
internal/poll.runtime_pollWait(0x7f01352f4000, 0x72)
	.../hostedtoolcache/go/1.25.9.../src/runtime/netpoll.go:351 +0x85
internal/poll.(*pollDesc).wait(0xc000186200?, 0xc000244000?, 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(0xc000186200, {0xc000244000, 0x1000, 0x1000})
	.../hostedtoolcache/go/1.25.9.../internal/poll/fd_unix.go:165 +0x279
net.(*netFD).Read(0xc000186200, {0xc000244000?, 0x40bc34?, 0x0?})
	.../hostedtoolcache/go/1.25.9.../src/net/fd_posix.go:68 +0x25
net.(*conn).Read(0xc0006080e8, {0xc000244000?, 0x40ba13?, 0xc0004a02d0?})
	.../hostedtoolcache/go/1.25.9.../src/net/net.go:196 +0x45
net/http.(*persistConn).Read(0xc000242360, {0xc000244000?, 0x79cda5?, 0x1780020?})
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2125 +0x47
bufio.(*Reader).fill(0xc000788180)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:113 +0x103
bufio.(*Reader).Peek(0xc000788180, 0x1)
	.../hostedtoolcache/go/1.25.9.../src/bufio/bufio.go:152 +0x53
net/http.(*persistConn).readLoop(0xc000242360)
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:2278 +0x172
created by net/http.(*Transport).dialConn in goroutine 6651
	.../hostedtoolcache/go/1.25.9.../net/http/transport.go:1947 +0x174f
FAIL	github..../tests/api/templates	600.605s
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.99s 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.99s)
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 | 296s run time
=== RUN   TestEgressFirewallAllowAndBlockCombination
=== PAUSE TestEgressFirewallAllowAndBlockCombination
=== CONT  TestEgressFirewallAllowAndBlockCombination
    sandbox_network_out_test.go:211: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowAndBlockCombination (295.62s)
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 | 0s run time
=== RUN   TestEgressFirewallAllowDomainAndIP
=== PAUSE TestEgressFirewallAllowDomainAndIP
=== CONT  TestEgressFirewallAllowDomainAndIP
    sandbox_network_out_test.go:654: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowDomainAndIP (0.00s)
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 | 0s run time
=== RUN   TestEgressFirewallAllowOverridesBlock
=== PAUSE TestEgressFirewallAllowOverridesBlock
=== CONT  TestEgressFirewallAllowOverridesBlock
    sandbox_network_out_test.go:328: Network test template was not built successfully
--- FAIL: TestEgressFirewallAllowOverridesBlock (0.00s)
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 | 296s run time
=== RUN   TestEgressFirewallBlockCIDRRange
=== PAUSE TestEgressFirewallBlockCIDRRange
=== CONT  TestEgressFirewallBlockCIDRRange
    sandbox_network_out_test.go:186: Network test template was not built successfully
--- FAIL: TestEgressFirewallBlockCIDRRange (295.56s)
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 | 0s run time
=== RUN   TestEgressFirewallDomainCaseInsensitive
=== PAUSE TestEgressFirewallDomainCaseInsensitive
=== CONT  TestEgressFirewallDomainCaseInsensitive
    sandbox_network_out_test.go:628: Network test template was not built successfully
--- FAIL: TestEgressFirewallDomainCaseInsensitive (0.00s)
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 | 301s run time
=== RUN   TestEgressFirewallEmptyConfig
=== PAUSE TestEgressFirewallEmptyConfig
=== CONT  TestEgressFirewallEmptyConfig
    sandbox_network_out_test.go:30: Building custom template for network egress tests...
    template.go:44: network-egress-test: [info] Building template af6fhkdldwvdn77wog36/9c650dec-358d-47c2-bd7c-af5b5782b23a
    template.go:44: network-egress-test: [info] [base] FROM ubuntu:22.04 [ffd709f131f42dfab282de47a91dd2c139e900c1c11fc574b49b517a05ef0a32]
    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:a5a58c69a4e29f7ad90f6ab20b75e05b0305489a7db868bcb71e66df102f01fd 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: TestEgressFirewallEmptyConfig (300.55s)
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 | 0s run time
=== RUN   TestEgressFirewallHTTPSByIPNoHostname
=== PAUSE TestEgressFirewallHTTPSByIPNoHostname
=== CONT  TestEgressFirewallHTTPSByIPNoHostname
    sandbox_network_out_test.go:683: Network test template was not built successfully
--- FAIL: TestEgressFirewallHTTPSByIPNoHostname (0.00s)
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 | 297s run time
=== RUN   TestEgressFirewallPersistsAfterResume
=== PAUSE TestEgressFirewallPersistsAfterResume
=== CONT  TestEgressFirewallPersistsAfterResume
    sandbox_network_out_test.go:237: Network test template was not built successfully
--- FAIL: TestEgressFirewallPersistsAfterResume (297.30s)
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::TestSandboxNotAutoPause

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

Stack Traces | 10.7s run time
=== RUN   TestSandboxNotAutoPause
=== PAUSE TestSandboxNotAutoPause
=== CONT  TestSandboxNotAutoPause
    sandbox_auto_pause_test.go:159: 
        	Error Trace:	.../api/sandboxes/sandbox_auto_pause_test.go:159
        	Error:      	Condition never satisfied
        	Test:       	TestSandboxNotAutoPause
        	Messages:   	Sandbox is not stopped
    sandbox_auto_pause_test.go:161: 
        	Error Trace:	.../api/sandboxes/sandbox_auto_pause_test.go:161
        	            				.../hostedtoolcache/go/1.25.9.../src/runtime/asm_amd64.s:1693
        	Error:      	Received unexpected error:
        	            	Get "http://localhost:3000/sandboxes/iq0zqyq6fi88a5tveok9x": context canceled
        	Test:       	TestSandboxNotAutoPause
--- FAIL: TestSandboxNotAutoPause (10.65s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxResume

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

Stack Traces | 0s run time
=== RUN   TestSandboxResume
=== PAUSE TestSandboxResume
=== CONT  TestSandboxResume
--- FAIL: TestSandboxResume (0.00s)
github.com/e2b-dev/infra/tests/integration/internal/tests/api/sandboxes::TestSandboxResume/resume_killed_sandbox

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

Stack Traces | 0.44s run time
=== RUN   TestSandboxResume/resume_killed_sandbox
=== PAUSE TestSandboxResume/resume_killed_sandbox
=== CONT  TestSandboxResume/resume_killed_sandbox
    sandbox_resume_test.go:99: 
        	Error Trace:	.../api/sandboxes/sandbox_resume_test.go:99
        	Error:      	Not equal: 
        	            	expected: 404
        	            	actual  : 410
        	Test:       	TestSandboxResume/resume_killed_sandbox
--- FAIL: TestSandboxResume/resume_killed_sandbox (0.44s)
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
=== CONT  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
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::TestInvalidBuildStatus

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

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

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

Stack Traces | 0s run time
=== RUN   TestListTemplatesWithAPIKeyAndMismatchedTeamID
=== PAUSE TestListTemplatesWithAPIKeyAndMismatchedTeamID
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::TestListTemplatesWithInvalidAPIKey

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

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

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

Stack Traces | 0s run time
=== RUN   TestListTemplatesWithSupabaseToken
=== PAUSE TestListTemplatesWithSupabaseToken
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::TestRequestTemplateBuild

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

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

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

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

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

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

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

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

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

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

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

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

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

Stack Traces | 0s run time
=== RUN   TestRequestTemplateTooLowRAM
=== PAUSE TestRequestTemplateTooLowRAM
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 | 0s run time
=== RUN   TestTagReassignment
=== PAUSE TestTagReassignment
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
--- FAIL: TestTemplateBuildRUN (0.00s)
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 | 301s run time
=== RUN   TestTemplateBuildRUN/Single_RUN_command
=== PAUSE TestTemplateBuildRUN/Single_RUN_command
=== CONT  TestTemplateBuildRUN/Single_RUN_command
    build_template_test.go:134: test-ubuntu-run: [info] Building template u1zgxdpe2sq7xwah19k8/76f4d24f-8aa7-44b3-8cdf-36d637680571
    build_template_test.go:134: test-ubuntu-run: [info] [base] FROM ubuntu:22.04 [ffd709f131f42dfab282de47a91dd2c139e900c1c11fc574b49b517a05ef0a32]
    build_template_test.go:134: test-ubuntu-run: [info] Base Docker image size: 30 MB
    build_template_test.go:134: test-ubuntu-run: [info] Creating file system and pulling Docker image
    build_template_test.go:134: test-ubuntu-run: [info] Uncompressing layer sha256:f63eb04151bcac21ad049f8d781b97b219aba392c5457907f8f3e88e43eb48ec 30 MB
    build_template_test.go:134: test-ubuntu-run: [info] Uncompressing layer sha256:a5a58c69a4e29f7ad90f6ab20b75e05b0305489a7db868bcb71e66df102f01fd 12 MB
    build_template_test.go:134: test-ubuntu-run: [info] Uncompressing layer sha256:8c4b1b28875140ed3abacaf16ad0d696f6bef912f52d2148f261a23e3349465b 168 B
    build_template_test.go:134: test-ubuntu-run: [info] Layers extracted
    build_template_test.go:134: test-ubuntu-run: [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-ubuntu-run: [info] Provisioning sandbox template
    build_template_test.go:167: 
        	Error Trace:	.../api/templates/build_template_test.go:97
        	            				.../api/templates/build_template_test.go:167
        	Error:      	Received unexpected error:
        	            	Get "http://localhost:.../builds/76f4d24f-8aa7-44b3-8cdf-36d637680571/status?level=info&logsOffset=10": context deadline exceeded
        	Test:       	TestTemplateBuildRUN/Single_RUN_command
--- FAIL: TestTemplateBuildRUN/Single_RUN_command (300.88s)
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 | 301s run time
=== RUN   TestUpdateTemplateNotOwnedByTeam
=== PAUSE TestUpdateTemplateNotOwnedByTeam
=== CONT  TestUpdateTemplateNotOwnedByTeam
    template_update_test.go:206: Build timeout exceeded
--- FAIL: TestUpdateTemplateNotOwnedByTeam (300.88s)
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 | 301s run time
=== RUN   TestUpdateTemplateWithInvalidAPIKey
=== PAUSE TestUpdateTemplateWithInvalidAPIKey
=== CONT  TestUpdateTemplateWithInvalidAPIKey
    template_update_test.go:108: Build timeout exceeded
--- FAIL: TestUpdateTemplateWithInvalidAPIKey (300.83s)
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 | 301s run time
=== RUN   TestUpdateTemplateWithSupabaseToken
=== PAUSE TestUpdateTemplateWithSupabaseToken
=== CONT  TestUpdateTemplateWithSupabaseToken
    template_update_test.go:149: Build timeout exceeded
--- FAIL: TestUpdateTemplateWithSupabaseToken (300.87s)

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

@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 error handling for MarkKilled in RemoveSandbox only logs a warning. If this operation fails, the API will return a 404 Not Found instead of the intended 410 Gone, leading to inconsistent behavior.

Comment on lines +114 to +119
if markErr := o.sandboxStore.MarkKilled(ctx, teamID, sandboxID, reason); markErr != nil {
logger.L().Warn(ctx, "Failed to mark sandbox as killed",
logger.WithSandboxID(sandboxID),
zap.Error(markErr),
)
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The error handling for MarkKilled is only logging a warning. If this operation fails, the API will continue to return 404 Not Found instead of 410 Gone for a killed sandbox, which contradicts the intent of this change. Consider if this failure should be treated as a critical error or if the system should retry.

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 OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 8b05604. Configure here.


func SandboxPausedMsg(sandboxID string) string {
return fmt.Sprintf("Sandbox %q is paused", sandboxID)
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Unused SandboxPausedMsg function added as dead code

Low Severity

SandboxPausedMsg is defined in this PR but never called anywhere in the codebase. It's dead code that adds no value.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 8b05604. Configure here.

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