Skip to content

Commit 236147f

Browse files
committed
Stop excluding dockerignored files from uploads
1 parent cee95a9 commit 236147f

File tree

2 files changed

+35
-3
lines changed

2 files changed

+35
-3
lines changed

eval_protocol/evaluation.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def __init__(
3333

3434
@staticmethod
3535
def _parse_ignore_file(ignore_path: str) -> List[str]:
36-
"""Parse .gitignore or .dockerignore and return patterns."""
36+
"""Parse .gitignore and return patterns."""
3737
patterns = []
3838
if not os.path.exists(ignore_path):
3939
return patterns
@@ -128,8 +128,7 @@ def _create_tar_gz_with_ignores(output_path: str, source_dir: str) -> int:
128128

129129
source_path = Path(source_dir)
130130
gitignore_patterns = Evaluator._parse_ignore_file(str(source_path / ".gitignore"))
131-
dockerignore_patterns = Evaluator._parse_ignore_file(str(source_path / ".dockerignore"))
132-
all_ignore_patterns = gitignore_patterns + dockerignore_patterns
131+
all_ignore_patterns = gitignore_patterns
133132

134133
logger.info(f"Creating tar.gz with {len(all_ignore_patterns)} ignore patterns")
135134

tests/test_ep_upload_e2e.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import os
1414
import shutil
1515
import sys
16+
import tarfile
1617
import tempfile
1718
from pathlib import Path
1819
from unittest.mock import MagicMock, patch
@@ -566,6 +567,38 @@ async def test_math_correctness(row: EvaluationRow) -> EvaluationRow:
566567
shutil.rmtree(test_project_dir, ignore_errors=True)
567568

568569

570+
def test_create_tar_includes_dockerignored_files(tmp_path):
571+
from eval_protocol.evaluation import Evaluator
572+
573+
project_dir = tmp_path / "project"
574+
project_dir.mkdir()
575+
(project_dir / "requirements.txt").write_text("")
576+
(project_dir / "Dockerfile").write_text("FROM python:3.11\n")
577+
(project_dir / ".dockerignore").write_text("Dockerfile\nignored_dir/\n")
578+
579+
ignored_dir = project_dir / "ignored_dir"
580+
ignored_dir.mkdir()
581+
(ignored_dir / "data.txt").write_text("package me\n")
582+
583+
tar_path = tmp_path / "archive.tar.gz"
584+
archive_size = Evaluator._create_tar_gz_with_ignores(str(tar_path), str(project_dir))
585+
586+
assert archive_size > 0
587+
with tarfile.open(tar_path, "r:gz") as tar:
588+
names = tar.getnames()
589+
590+
project_prefix = project_dir.name
591+
expected_paths = [
592+
f"{project_prefix}/Dockerfile",
593+
f"{project_prefix}/.dockerignore",
594+
f"{project_prefix}/ignored_dir/data.txt",
595+
f"{project_prefix}/requirements.txt",
596+
]
597+
598+
for expected_path in expected_paths:
599+
assert expected_path in names, f"Expected {expected_path} in archive"
600+
601+
569602
def test_ep_upload_force_flag_triggers_delete_flow(
570603
mock_env_variables,
571604
mock_gcs_upload,

0 commit comments

Comments
 (0)