Skip to content

Commit 5b98e03

Browse files
fix: normalize changed dirs to benchmark root to reduce benchmark scope
1 parent 29a384b commit 5b98e03

1 file changed

Lines changed: 18 additions & 2 deletions

File tree

.github/workflows/run_affected_benchmarks.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,15 @@ jobs:
131131
files=$(git diff --diff-filter=AM --name-only ${{ github.event.before }} ${{ github.event.after }})
132132
fi
133133
fi
134-
directories=$(for file in $files; do dirname $file; done | uniq | tr '\n' ' ' | sed 's/ $//')
134+
directories=$(
135+
for file in $files; do
136+
d="$(dirname "$file")"
137+
echo "$d" | sed -n 's#^\(lib/.*\)/benchmark/.*#\1/benchmark#p'
138+
done \
139+
| sort -u \
140+
| tr '\n' ' ' \
141+
| sed 's/ $//'
142+
)
135143
echo "directories=${directories}" >> $GITHUB_OUTPUT
136144
137145
# Get list of changed directories from workflow dispatch event:
@@ -150,5 +158,13 @@ jobs:
150158
else
151159
directories="${{ steps.changed-directories.outputs.directories }}"
152160
fi
161+
if [ -z "$directories" ]; then
162+
echo "No changed benchmark directories detected; skipping."
163+
exit 0
164+
fi
165+
if [ -z "$directories" ]; then
166+
echo "No changed benchmark directories detected; skipping."
167+
exit 0
168+
fi
153169
. "$GITHUB_WORKSPACE/.github/workflows/scripts/run_affected_benchmarks/run" "$directories"
154-
timeout-minutes: 60
170+
timeout-minutes: 120

0 commit comments

Comments
 (0)