Skip to content

Commit de92f04

Browse files
committed
Enh: Disable pagers etc. in get_environment
Closes #38
1 parent b50d00d commit de92f04

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

codeclash/games/abstract.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,14 @@ def get_environment(self, branch_name: str | None = None) -> DockerEnvironment:
128128
environment = DockerEnvironment(
129129
image=self.image_name,
130130
cwd=str(DIR_WORK),
131-
env={"GITHUB_TOKEN": os.getenv("GITHUB_TOKEN", "")},
131+
env={
132+
"GITHUB_TOKEN": os.getenv("GITHUB_TOKEN", ""),
133+
"PAGER": "cat",
134+
"MANPAGER": "cat",
135+
"LESS": "-R",
136+
"PIP_PROGRESS_BAR": "off",
137+
"TQDM_DISABLE": "1",
138+
},
132139
)
133140
# Logger setting will likely not take effect for initial container creation logs
134141
environment.logger = get_logger("environment", emoji="🪴")
@@ -146,7 +153,6 @@ def get_environment(self, branch_name: str | None = None) -> DockerEnvironment:
146153

147154
def _pre_round_setup(self, agents: list[Player]):
148155
"""Copy agent codebases into game's container"""
149-
# Copy agent codebases into game's container
150156
for agent in agents:
151157
self.logger.debug(f"Copying {agent.name}'s codebase")
152158
copy_between_containers(
@@ -156,7 +162,6 @@ def _pre_round_setup(self, agents: list[Player]):
156162
dest_path=f"/{agent.name}",
157163
)
158164

159-
# Ensure the log directory exists
160165
assert_zero_exit_code(
161166
self.environment.execute(f"mkdir -p {self.log_env}"),
162167
logger=self.logger,

codeclash/games/battlesnake/main.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@ def _wait_for_ports(self, ports: list[int], timeout: float = 3.0) -> None:
3030
for port in ports:
3131
result = self.environment.execute(f"nc -z 0.0.0.0 {port}")
3232
if result["returncode"] != 0:
33-
self.logger.debug(f"Port {port} is not ready")
3433
break
3534
else:
3635
# All ports are ready (loop completed without break)
37-
self.logger.info("All ports are ready")
3836
return
3937

4038
time.sleep(0.1)
@@ -52,17 +50,20 @@ def get_stats(self, result_outputs: list[str], agents: list[Player]) -> RoundSta
5250
return RoundStats(winner=winner, scores=scores)
5351

5452
def execute_round(self, agents: list[Player]) -> RoundData:
53+
self.logger.debug("Starting game servers")
5554
cmd = []
5655
ports = []
5756
for idx, agent in enumerate(agents):
5857
port = 8001 + idx
5958
ports.append(port)
59+
# Surprisingly slow despite using &
6060
# Start server in background - just add & to run in background!
6161
self.environment.execute(f"PORT={port} python main.py &", cwd=f"/{agent.name}")
6262
cmd.append(f"--url http://0.0.0.0:{port} -n {agent.name}")
6363

64-
# Wait for all servers to be ready (up to 3 seconds)
64+
self.logger.debug(f"Waiting for ports: {ports}")
6565
self._wait_for_ports(ports)
66+
self.logger.debug("All ports are ready")
6667

6768
try:
6869
log_outputs, result_outputs = [], []

0 commit comments

Comments
 (0)