Skip to content

Commit 7179e09

Browse files
sbryngelsonclaude
andcommitted
Fix retry clean wiping pre-fetched deps; harden dep skip check
- Clean only source targets (not deps) in compute-node retry loops, so pre-fetched dependencies survive build failures on offline nodes - Also check install dir exists (not just CMakeCache.txt) before skipping a dependency, guarding against configure-ok-but-build-failed Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 2474b46 commit 7179e09

5 files changed

Lines changed: 9 additions & 9 deletions

File tree

.github/workflows/frontier/bench.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ while [ $attempt -le $max_attempts ]; do
3535
fi
3636

3737
if [ $attempt -lt $max_attempts ]; then
38-
echo "Build failed on attempt $attempt. Cleaning and retrying in 30s..."
39-
./mfc.sh clean
38+
echo "Build failed on attempt $attempt. Cleaning source targets and retrying in 30s..."
39+
./mfc.sh clean -t pre_process simulation post_process syscheck
4040
sleep 30
4141
else
4242
echo "Build failed after $max_attempts attempts."

.github/workflows/frontier/test.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ while [ $attempt -le $max_attempts ]; do
2626
fi
2727

2828
if [ $attempt -lt $max_attempts ]; then
29-
echo "Build failed on attempt $attempt. Cleaning and retrying in 30s..."
30-
./mfc.sh clean
29+
echo "Build failed on attempt $attempt. Cleaning source targets and retrying in 30s..."
30+
./mfc.sh clean -t pre_process simulation post_process syscheck
3131
sleep 30
3232
else
3333
echo "Build failed after $max_attempts attempts."

.github/workflows/frontier_amd/bench.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ while [ $attempt -le $max_attempts ]; do
3535
fi
3636

3737
if [ $attempt -lt $max_attempts ]; then
38-
echo "Build failed on attempt $attempt. Cleaning and retrying in 30s..."
39-
./mfc.sh clean
38+
echo "Build failed on attempt $attempt. Cleaning source targets and retrying in 30s..."
39+
./mfc.sh clean -t pre_process simulation post_process syscheck
4040
sleep 30
4141
else
4242
echo "Build failed after $max_attempts attempts."

.github/workflows/frontier_amd/test.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ while [ $attempt -le $max_attempts ]; do
2626
fi
2727

2828
if [ $attempt -lt $max_attempts ]; then
29-
echo "Build failed on attempt $attempt. Cleaning and retrying in 30s..."
30-
./mfc.sh clean
29+
echo "Build failed on attempt $attempt. Cleaning source targets and retrying in 30s..."
30+
./mfc.sh clean -t pre_process simulation post_process syscheck
3131
sleep 30
3232
else
3333
echo "Build failed after $max_attempts attempts."

toolchain/mfc/build.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,7 @@ def __build_target(target: typing.Union[MFCTarget, str], case: input.MFCInputFil
569569
# Dependencies are pinned to fixed versions. If already configured
570570
# (built & installed by a prior --deps-only step), skip entirely
571571
# to avoid re-entering the superbuild (which may access the network).
572-
if target.isDependency and target.is_configured(case):
572+
if target.isDependency and target.is_configured(case) and os.path.isdir(target.get_install_dirpath(case)):
573573
return
574574

575575
for dep in target.requires.compute():

0 commit comments

Comments
 (0)