9898 "${{ steps.images.outputs.target_image }}" \
9999 package-source-diff
100100
101+ - name : Package diff step summary
102+ run : |
103+ echo "## Diffed packages (target vs base)" >> $GITHUB_STEP_SUMMARY
104+ echo "" >> $GITHUB_STEP_SUMMARY
105+ echo "### Apt packages added" >> $GITHUB_STEP_SUMMARY
106+ if [ -s package-source-diff/apt_packages.txt ]; then
107+ echo '```' >> $GITHUB_STEP_SUMMARY
108+ cat package-source-diff/apt_packages.txt >> $GITHUB_STEP_SUMMARY
109+ echo '```' >> $GITHUB_STEP_SUMMARY
110+ else
111+ echo "_None_" >> $GITHUB_STEP_SUMMARY
112+ fi
113+ echo "" >> $GITHUB_STEP_SUMMARY
114+ echo "### Pip packages added" >> $GITHUB_STEP_SUMMARY
115+ if [ -s package-source-diff/pip_packages.txt ]; then
116+ echo '```' >> $GITHUB_STEP_SUMMARY
117+ cat package-source-diff/pip_packages.txt >> $GITHUB_STEP_SUMMARY
118+ echo '```' >> $GITHUB_STEP_SUMMARY
119+ else
120+ echo "_None_" >> $GITHUB_STEP_SUMMARY
121+ fi
122+
101123 - name : Upload package lists
102124 uses : actions/upload-artifact@v4
103125 with :
@@ -159,6 +181,9 @@ jobs:
159181 fi
160182 echo "Installing $whl"
161183 pip install "$whl"
184+ # Capture package name (PEP 427: name-version-...); normalize to pip form (dashes)
185+ installed_pkg=$(basename "$whl" .whl | sed -E 's/-[0-9]+\.[0-9]+(\.[0-9]+)?.*//' | tr '_' '-')
186+ echo "$installed_pkg" > installed_wheel_package.txt
162187
163188 - name : Capture pip packages (after)
164189 run : |
@@ -168,9 +193,14 @@ jobs:
168193 - name : Diff added pip packages
169194 id : diff
170195 run : |
196+ exclude_pkg=''
197+ [ -f installed_wheel_package.txt ] && exclude_pkg=$(cat installed_wheel_package.txt)
171198 awk -F'==' '{print $1}' pip_before.txt | sort -u > pip_before_names.txt
172199 while IFS= read -r line; do
173200 pkg="${line%%==*}"
201+ if [ -n "$exclude_pkg" ] && [ "$pkg" = "$exclude_pkg" ]; then
202+ continue
203+ fi
174204 if ! grep -qxF "$pkg" pip_before_names.txt 2>/dev/null; then
175205 echo "$line"
176206 fi
0 commit comments