@plainconceptsplatform/workflows 0.28.7 → 0.28.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -152,6 +152,17 @@ post-steps:
|
|
|
152
152
|
npm install -g "agent-browser@${{ env.AGENT_BROWSER_VERSION }}"
|
|
153
153
|
# The npm package alone cannot drive a browser: the Chromium binary is a separate
|
|
154
154
|
# download, and a self-hosted Linux runner needs the system dependencies too.
|
|
155
|
+
# --with-deps is agent-browser's best effort but misses libraries on ubuntu-24.04.
|
|
156
|
+
chrome_dir=$(agent-browser path 2>/dev/null | grep -oE '/[^ ]+chrome[^ ]*' | head -1 || true)
|
|
157
|
+
if [ -n "$chrome_dir" ] && [ -d "$(dirname "$chrome_dir")/.." ]; then
|
|
158
|
+
ldd "$chrome_dir" 2>/dev/null | grep "not found" || true
|
|
159
|
+
fi
|
|
160
|
+
# Install the known missing Chromium dependencies on Debian/ubuntu runners.
|
|
161
|
+
# agent-browser install --with-deps may leave these out depending on the runner image.
|
|
162
|
+
sudo apt-get update -qq && sudo apt-get install -y --no-install-recommends \
|
|
163
|
+
libnss3 libatk1.0-0 libatk-bridge2.0-0 libdrm2 libgbm1 \
|
|
164
|
+
libasound2t64 libxkbcommon0 libcairo2 libpango-1.0-0 libxcomposite1 \
|
|
165
|
+
libxdamage1 libxfixes3 libxrandr2 2>/dev/null || true
|
|
155
166
|
agent-browser install --with-deps
|
|
156
167
|
agent-browser --version
|
|
157
168
|
|
|
@@ -205,6 +216,9 @@ post-steps:
|
|
|
205
216
|
echo "Found $waypoint_count waypoints"
|
|
206
217
|
captured=0
|
|
207
218
|
i=0
|
|
219
|
+
# agent-browser uses Chromium which needs --no-sandbox on CI runners where
|
|
220
|
+
# there is no SYS_ADMIN capability. Set it once via the config file.
|
|
221
|
+
export AGENT_BROWSER_ARGS="${AGENT_BROWSER_ARGS:-} --no-sandbox"
|
|
208
222
|
while [ "$i" -lt "$waypoint_count" ]; do
|
|
209
223
|
i=$((i + 1))
|
|
210
224
|
url=$(jq -r ".waypoints[$((i - 1))].url" "$PLAN_FILE")
|
|
@@ -224,6 +238,10 @@ post-steps:
|
|
|
224
238
|
captured=$((captured + 1))
|
|
225
239
|
else
|
|
226
240
|
echo "::warning::waypoint $i: screenshot failed"
|
|
241
|
+
# Diagnostic: show what's in the output dir and any browser errors
|
|
242
|
+
ls -la "$OUTPUT_DIR/" 2>/dev/null || true
|
|
243
|
+
echo "--- agent-browser debug ---"
|
|
244
|
+
agent-browser screenshot "$OUTPUT_DIR/debug-$i.png" --full 2>&1 || true
|
|
227
245
|
fi
|
|
228
246
|
done
|
|
229
247
|
echo "captured=$([ "$captured" -gt 0 ] && echo true || echo false)" >> "$GITHUB_OUTPUT"
|
|
@@ -233,7 +251,7 @@ post-steps:
|
|
|
233
251
|
# instead (app never started, no plan, or every waypoint failed). `always()` because it
|
|
234
252
|
# must run even when the capture step above warned its way to the end.
|
|
235
253
|
- name: Attach screenshots to the issue
|
|
236
|
-
if: always() &&
|
|
254
|
+
if: always() && env.VISUAL_VERIFY_ENABLED == 'true' && env.VISUAL_VERIFY_START_COMMAND != ''
|
|
237
255
|
uses: ./.github/actions/attach-screenshots
|
|
238
256
|
with:
|
|
239
257
|
token: ${{ github.token }}
|