Skip to content

Commit 28e9b5d

Browse files
authored
Build: use gvisor for projects using build.tools (#9114)
Closes #9103
1 parent b186891 commit 28e9b5d

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

readthedocs/doc_builder/director.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,14 @@ def create_vcs_environment(self):
107107
)
108108

109109
def create_build_environment(self):
110+
use_gvisor = self.data.config.using_build_tools and self.data.config.build.jobs
110111
self.build_environment = self.data.environment_class(
111112
project=self.data.project,
112113
version=self.data.version,
113114
config=self.data.config,
114115
build=self.data.build,
115116
environment=self.get_build_env_vars(),
117+
use_gvisor=use_gvisor,
116118
)
117119

118120
def setup_environment(self):

readthedocs/doc_builder/environments.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -554,13 +554,16 @@ class DockerBuildEnvironment(BuildEnvironment):
554554
container_time_limit = DOCKER_LIMITS.get('time')
555555

556556
def __init__(self, *args, **kwargs):
557-
container_image = kwargs.pop('container_image', None)
558-
557+
container_image = kwargs.pop("container_image", None)
558+
self.use_gvisor = kwargs.pop("use_gvisor", False)
559559
super().__init__(*args, **kwargs)
560560
self.client = None
561561
self.container = None
562562
self.container_name = self.get_container_name()
563563

564+
if self.project.has_feature(Feature.DOCKER_GVISOR_RUNTIME):
565+
self.use_gvisor = True
566+
564567
# Decide what Docker image to use, based on priorities:
565568
# Use the Docker image set by our feature flag: ``testing`` or,
566569
if self.project.has_feature(Feature.USE_TESTING_BUILD_IMAGE):
@@ -790,11 +793,7 @@ def create_container(self):
790793
"""Create docker container."""
791794
client = self.get_client()
792795
try:
793-
docker_runtime = self.project.get_feature_value(
794-
Feature.DOCKER_GVISOR_RUNTIME,
795-
positive="runsc",
796-
negative=None,
797-
)
796+
docker_runtime = "runsc" if self.use_gvisor else None
798797
log.info(
799798
'Creating Docker container.',
800799
container_image=self.container_image,

0 commit comments

Comments
 (0)