Improve update-plugins workflow resilience and add summary (#7407)

Continue processing remaining plugins when one fails instead of
crashing. Add summary at the end showing succeeded/failed/skipped
counts and plugin names.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
John McLear 2026-03-31 11:15:41 +01:00 committed by GitHub
parent f9798cfa4a
commit 2358a052f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -43,6 +43,10 @@ jobs:
# List all ep_* repos from ether org
plugins=$(gh repo list ether --limit 200 --json name --jq '.[] | select(.name | startswith("ep_")) | .name')
failed=""
succeeded=""
skipped=""
for plugin in $plugins; do
echo "============================================================"
echo "Processing $plugin"
@ -50,14 +54,26 @@ jobs:
# Clone if not present
if [ ! -d "$plugin" ]; then
git clone "https://github.com/ether/${plugin}.git" "$plugin" || { echo "SKIP: clone failed"; continue; }
git clone "https://github.com/ether/${plugin}.git" "$plugin" || { echo "SKIP: clone failed"; skipped="$skipped $plugin"; continue; }
fi
# Pull latest
(cd "$plugin" && git pull --ff-only) || { echo "SKIP: pull failed"; continue; }
(cd "$plugin" && git pull --ff-only) || { echo "SKIP: pull failed"; skipped="$skipped $plugin"; continue; }
# Run checkPlugin with autopush
cd etherpad-lite/bin
pnpm run checkPlugin "$plugin" autopush 2>&1 | tail -20 || echo "WARN: checkPlugin failed for $plugin"
# Run checkPlugin with autopush — continue on failure
if cd etherpad-lite/bin && pnpm run checkPlugin "$plugin" autopush 2>&1; then
succeeded="$succeeded $plugin"
else
echo "WARN: checkPlugin failed for $plugin"
failed="$failed $plugin"
fi
cd ../..
done
echo ""
echo "============================================================"
echo "SUMMARY"
echo "============================================================"
echo "Succeeded:$(echo $succeeded | wc -w) -$succeeded"
echo "Failed:$(echo $failed | wc -w) -$failed"
echo "Skipped:$(echo $skipped | wc -w) -$skipped"