3737 git fetch origin ${{ github.base_ref }}
3838 merged_commit=$(git log -1 --format='%H')
3939 files=$(git diff --name-status --diff-filter=ARM ${{ github.event.pull_request.base.sha }} ${merged_commit} | awk '{print $2}' | grep -E 'Dockerfile$' || true)
40- echo "changed_files=$files"
4140 echo "files<<EOF" >> $GITHUB_OUTPUT
4241 echo "$files" >> $GITHUB_OUTPUT
4342 echo "EOF" >> $GITHUB_OUTPUT
@@ -46,21 +45,25 @@ jobs:
4645 if : steps.changed-dockerfiles.outputs.files != ''
4746 run : |
4847 cd ${{github.workspace}}
48+ merged_commit=$(git log -1 --format='%H')
4949 set -e
5050 while read -r dockerfile; do
5151 [ -z "$dockerfile" ] && continue
5252 dir=$(dirname "$dockerfile")
53+ file=$(basename "$dockerfile")
5354 image_base="pr-image-size-base:$(echo $dir | tr '/' '-')"
5455 image_pr="pr-image-size-pr:$(echo $dir | tr '/' '-')"
5556 cd $dir
5657 echo "Building base image for $dockerfile"
57- git checkout origin/${{ github.base_ref }} -- "$dockerfile"
58- docker build -f "$dockerfile" -t "$image_base" --no-cache .
58+ git checkout origin/${{ github.base_ref }}
59+ docker build -f "$file" -t "$image_base" --no-cache .
60+ cat $file
5961 size_base=$(docker image inspect "$image_base" | jq '.[0].Size / (1024 * 1024) | round')
6062
6163 echo "Building PR image for $dockerfile"
62- git checkout -- "$dockerfile" # restore PR version
63- docker build -f "$dockerfile" -t "$image_pr" --no-cache .
64+ git checkout $merged_commit
65+ docker build -f "$file" -t "$image_pr" --no-cache .
66+ cat $file
6467 size_pr=$(docker image inspect "$image_pr" | jq '.[0].Size / (1024 * 1024) | round')
6568
6669 diff=$((size_pr - size_base))
0 commit comments