Skip to content

Commit 7ad86cb

Browse files
committed
Fix material-ui builds
1 parent a02d022 commit 7ad86cb

File tree

2 files changed

+117
-0
lines changed

2 files changed

+117
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"""Fix custom-reporter.js path issues in Dockerfiles.
2+
3+
The main issues are:
4+
1. Some Dockerfiles use WORKDIR /app instead of /testbed
5+
2. Some have chmod commands pointing to wrong paths
6+
"""
7+
import sys
8+
9+
dockerfile_content = sys.argv[1]
10+
11+
if 'custom-reporter.js' not in dockerfile_content:
12+
print(dockerfile_content)
13+
sys.exit(0)
14+
15+
lines = dockerfile_content.split('\n')
16+
fixed_lines = []
17+
18+
for line in lines:
19+
# Fix WORKDIR to use /testbed instead of /app
20+
if line.strip() == 'WORKDIR /app':
21+
fixed_lines.append('WORKDIR /testbed')
22+
# Fix chmod commands that point to /app instead of /testbed
23+
elif 'chmod +x /app/custom-reporter.js' in line:
24+
fixed_lines.append(line.replace('/app/custom-reporter.js', '/testbed/custom-reporter.js'))
25+
else:
26+
fixed_lines.append(line)
27+
28+
print('\n'.join(fixed_lines))

scripts/upload_instance_images_to_ghcr.sh

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,90 @@ fix_debian_buster_dockerfile() {
356356
fi
357357
}
358358

359+
# Fix custom-reporter.js path issues for material-ui instances
360+
fix_custom_reporter_path() {
361+
local dockerfile="$1"
362+
local instance_id="$2"
363+
364+
# List of specific material-ui instances that need the custom-reporter.js fix
365+
# These are the 55 instances with resolved=false (excluding the 6 that already work)
366+
local mui_instances=(
367+
"mui__material-ui-7444"
368+
"mui__material-ui-11446"
369+
"mui__material-ui-11825"
370+
"mui__material-ui-12389"
371+
"mui__material-ui-13582"
372+
"mui__material-ui-13743"
373+
"mui__material-ui-13789"
374+
"mui__material-ui-13828"
375+
"mui__material-ui-14023"
376+
"mui__material-ui-14036"
377+
"mui__material-ui-14266"
378+
"mui__material-ui-14465"
379+
"mui__material-ui-15097"
380+
"mui__material-ui-15430"
381+
"mui__material-ui-15495"
382+
"mui__material-ui-16137"
383+
"mui__material-ui-16882"
384+
"mui__material-ui-17005"
385+
"mui__material-ui-17301"
386+
"mui__material-ui-17640"
387+
"mui__material-ui-17691"
388+
"mui__material-ui-17829"
389+
"mui__material-ui-18744"
390+
"mui__material-ui-19612"
391+
"mui__material-ui-19794"
392+
"mui__material-ui-20133"
393+
"mui__material-ui-20247"
394+
"mui__material-ui-20781"
395+
"mui__material-ui-20851"
396+
"mui__material-ui-21192"
397+
"mui__material-ui-21226"
398+
"mui__material-ui-23174"
399+
"mui__material-ui-23364"
400+
"mui__material-ui-25784"
401+
"mui__material-ui-26173"
402+
"mui__material-ui-26231"
403+
"mui__material-ui-26323"
404+
"mui__material-ui-26460"
405+
"mui__material-ui-26600"
406+
"mui__material-ui-26746"
407+
"mui__material-ui-28813"
408+
"mui__material-ui-33312"
409+
"mui__material-ui-34138"
410+
"mui__material-ui-34158"
411+
"mui__material-ui-34207"
412+
"mui__material-ui-34478"
413+
"mui__material-ui-34548"
414+
"mui__material-ui-36426"
415+
"mui__material-ui-37118"
416+
"mui__material-ui-37845"
417+
"mui__material-ui-37908"
418+
"mui__material-ui-38167"
419+
"mui__material-ui-38788"
420+
"mui__material-ui-39071"
421+
"mui__material-ui-40180"
422+
)
423+
424+
# Check if this instance needs the fix
425+
local needs_fix=false
426+
for mui_instance in "${mui_instances[@]}"; do
427+
if [[ "$instance_id" == "$mui_instance" ]]; then
428+
needs_fix=true
429+
break
430+
fi
431+
done
432+
433+
# Only apply fix to specific material-ui instances that have custom-reporter.js
434+
if [[ "$needs_fix" == "true" ]] && [[ "$dockerfile" == *"custom-reporter.js"* ]]; then
435+
log_info "Applying custom-reporter.js path fix for $instance_id" >&2
436+
437+
python scripts/fix_custom_reporter_path.py "$dockerfile"
438+
else
439+
echo "$dockerfile"
440+
fi
441+
}
442+
359443
# Build and upload a single instance image
360444
process_instance() {
361445
local instance_data="$1"
@@ -379,6 +463,9 @@ process_instance() {
379463
# Apply HF URL fix
380464
dockerfile=$(fix_huggingface_model_downloads "$dockerfile" "$instance_id")
381465

466+
# Apply custom-reporter.js path fix if needed
467+
dockerfile=$(fix_custom_reporter_path "$dockerfile" "$instance_id")
468+
382469
log_info "Processing instance: $instance_id ($language)"
383470

384471
# Check if image already exists and skip if requested
@@ -480,6 +567,7 @@ export -f fix_pkg_config_dockerfile
480567
export -f fix_debian_buster_dockerfile
481568
export -f fix_poetry_version
482569
export -f fix_huggingface_model_downloads
570+
export -f fix_custom_reporter_path
483571
export GHCR_REGISTRY VERSION DRY_RUN REPO_PATH SKIP_EXISTING GH_PAT
484572
export RED GREEN YELLOW BLUE NC
485573
export SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -582,6 +670,7 @@ $(declare -f fix_pkg_config_dockerfile)
582670
$(declare -f fix_debian_buster_dockerfile)
583671
$(declare -f fix_poetry_version)
584672
$(declare -f fix_huggingface_model_downloads)
673+
$(declare -f fix_custom_reporter_path)
585674
export GHCR_REGISTRY="$GHCR_REGISTRY"
586675
export VERSION="$VERSION"
587676
export DRY_RUN="$DRY_RUN"

0 commit comments

Comments
 (0)