test(integration): lift GITEA_ACTIONS skip for Firecracker backend

The sandbox-escape test was unconditionally skipped when GITEA_ACTIONS=true,
which prevented Firecracker orchestration coverage from being measured even
when BOT_BOTTLE_BACKEND=firecracker is set on the KVM runner.

Narrow the skip to: GITEA_ACTIONS=true AND BOT_BOTTLE_BACKEND != firecracker.
When BOT_BOTTLE_BACKEND=firecracker the test is explicitly opted in to run on
the self-hosted KVM runner where the required /dev/kvm + TAP pool exist.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-18 05:33:51 -04:00
committed by didericis
parent df24e5e955
commit ed38c68b01
+6 -5
View File
@@ -69,11 +69,12 @@ _DUMMY_HOST_KEY = (
@skip_unless_docker() @skip_unless_docker()
@unittest.skipIf( @unittest.skipIf(
os.environ.get("GITEA_ACTIONS") == "true", os.environ.get("GITEA_ACTIONS") == "true"
"skipped under act_runner: egress_tls_init uses a host bind mount " and os.environ.get("BOT_BOTTLE_BACKEND") != "firecracker",
"the runner container can't see, and the network topology hides " "skipped under act_runner unless BOT_BOTTLE_BACKEND=firecracker: "
"sibling-gateway visibility — same constraint as the other " "egress_tls_init uses a host bind mount the runner container can't "
"bottle-bringup integration tests", "see, and the network topology hides sibling-gateway visibility — "
"these constraints don't apply on the self-hosted KVM runner",
) )
class TestSandboxEscape(unittest.TestCase): class TestSandboxEscape(unittest.TestCase):
"""End-to-end attacks against a real bottle. The bottle stays """End-to-end attacks against a real bottle. The bottle stays