logiguard fork: GPUI xdg-activation keyboard-focus serial fix
Some checks failed
Update All Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Triage Project Sync (#84) / Sync triage project (push) Has been cancelled
release_nightly / notify_on_failure (push) Has been cancelled
release_nightly / check_style (push) Has been cancelled
release_nightly / run_tests_windows (push) Has been cancelled
release_nightly / clippy_windows (push) Has been cancelled
release_nightly / bundle_linux_aarch64 (push) Has been cancelled
release_nightly / bundle_linux_x86_64 (push) Has been cancelled
release_nightly / bundle_mac_aarch64 (push) Has been cancelled
release_nightly / bundle_mac_x86_64 (push) Has been cancelled
release_nightly / bundle_windows_aarch64 (push) Has been cancelled
release_nightly / bundle_windows_x86_64 (push) Has been cancelled
release_nightly / build_nix_linux_x86_64 (push) Has been cancelled
release_nightly / build_nix_mac_aarch64 (push) Has been cancelled
release_nightly / update_nightly_tag (push) Has been cancelled
Hotfix Review Monitor / check-hotfix-reviews (push) Has been cancelled
Stale PR Review Reminder / check-stale-prs (push) Has been cancelled
Update Weekly Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Bump collab-staging Tag / update-collab-staging-tag (push) Has been cancelled
compliance_check / scheduled_compliance_check (push) Has been cancelled
Some checks failed
Update All Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Triage Project Sync (#84) / Sync triage project (push) Has been cancelled
release_nightly / notify_on_failure (push) Has been cancelled
release_nightly / check_style (push) Has been cancelled
release_nightly / run_tests_windows (push) Has been cancelled
release_nightly / clippy_windows (push) Has been cancelled
release_nightly / bundle_linux_aarch64 (push) Has been cancelled
release_nightly / bundle_linux_x86_64 (push) Has been cancelled
release_nightly / bundle_mac_aarch64 (push) Has been cancelled
release_nightly / bundle_mac_x86_64 (push) Has been cancelled
release_nightly / bundle_windows_aarch64 (push) Has been cancelled
release_nightly / bundle_windows_x86_64 (push) Has been cancelled
release_nightly / build_nix_linux_x86_64 (push) Has been cancelled
release_nightly / build_nix_mac_aarch64 (push) Has been cancelled
release_nightly / update_nightly_tag (push) Has been cancelled
Hotfix Review Monitor / check-hotfix-reviews (push) Has been cancelled
Stale PR Review Reminder / check-stale-prs (push) Has been cancelled
Update Weekly Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Bump collab-staging Tag / update-collab-staging-tag (push) Has been cancelled
compliance_check / scheduled_compliance_check (push) Has been cancelled
Single-commit orphan branch: full zed-industries/zed @ 8c74db0 source tree with a 3-file patch applied (no upstream history). Patch (crates/gpui_linux/src/linux/wayland/): - serial.rs: add SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; add latest_serial_of() - window.rs: activate() uses keyboard-enter serial (Mutter focus gate) Mutter honors window activation only when the token carries the keyboard- focus serial from wl_keyboard.enter; GPUI used a stale mouse-press serial. See docs/tray-window-focus-wayland.md in logiguard. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
139
script/test-docs-suggest-batch
Executable file
139
script/test-docs-suggest-batch
Executable file
@@ -0,0 +1,139 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Test docs-suggest on multiple PRs and generate a summary report.
|
||||
#
|
||||
# Usage:
|
||||
# script/test-docs-suggest-batch [--limit N] [--output FILE]
|
||||
#
|
||||
# This script runs docs-suggest in dry-run mode on recent merged PRs
|
||||
# to validate the context assembly and help tune the prompt.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
LIMIT=50
|
||||
OUTPUT="docs-suggest-batch-results.md"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--limit)
|
||||
LIMIT="$2"
|
||||
shift 2
|
||||
;;
|
||||
--output)
|
||||
OUTPUT="$2"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "Testing docs-suggest on $LIMIT recent merged PRs..."
|
||||
echo "Output: $OUTPUT"
|
||||
echo ""
|
||||
|
||||
# Get list of PRs
|
||||
PRS=$(gh pr list --state merged --limit "$LIMIT" --json number,title --jq '.[] | "\(.number)|\(.title)"')
|
||||
|
||||
# Initialize output file
|
||||
cat > "$OUTPUT" << HEADER
|
||||
# docs-suggest Batch Test Results
|
||||
|
||||
**Date**: $(date +%Y-%m-%d)
|
||||
**PRs tested**: $LIMIT
|
||||
|
||||
## Summary
|
||||
|
||||
| PR | Title | Result | Source Files | Notes |
|
||||
|----|-------|--------|--------------|-------|
|
||||
HEADER
|
||||
|
||||
# Track stats
|
||||
total=0
|
||||
has_source=0
|
||||
no_source=0
|
||||
errors=0
|
||||
|
||||
while IFS='|' read -r pr_num title; do
|
||||
total=$((total + 1))
|
||||
echo -n "[$total/$LIMIT] PR #$pr_num: "
|
||||
|
||||
# Run dry-run and capture output
|
||||
tmpfile=$(mktemp)
|
||||
if "$SCRIPT_DIR/docs-suggest" --pr "$pr_num" --dry-run 2>"$tmpfile.err" >"$tmpfile.out"; then
|
||||
# Check if it found source files
|
||||
if grep -q "No documentation-relevant changes" "$tmpfile.out"; then
|
||||
result="No source changes"
|
||||
no_source=$((no_source + 1))
|
||||
source_count="0"
|
||||
echo "skipped (no source)"
|
||||
else
|
||||
# Extract source file count from verbose output
|
||||
source_count=$(grep -oE '[0-9]+ source' "$tmpfile.err" 2>/dev/null | grep -oE '[0-9]+' || echo "?")
|
||||
result="Has source changes"
|
||||
has_source=$((has_source + 1))
|
||||
echo "has $source_count source files"
|
||||
fi
|
||||
notes=""
|
||||
else
|
||||
result="Error"
|
||||
errors=$((errors + 1))
|
||||
source_count="-"
|
||||
notes=$(head -1 "$tmpfile.err" 2>/dev/null || echo "unknown error")
|
||||
echo "error"
|
||||
fi
|
||||
|
||||
# Escape title for markdown table
|
||||
title_escaped=$(echo "$title" | sed 's/|/\\|/g' | cut -c1-60)
|
||||
|
||||
# Add row to table
|
||||
echo "| [#$pr_num](https://github.com/zed-industries/zed/pull/$pr_num) | $title_escaped | $result | $source_count | $notes |" >> "$OUTPUT"
|
||||
|
||||
rm -f "$tmpfile" "$tmpfile.out" "$tmpfile.err"
|
||||
done <<< "$PRS"
|
||||
|
||||
# Add summary stats
|
||||
cat >> "$OUTPUT" << STATS
|
||||
|
||||
## Statistics
|
||||
|
||||
- **Total PRs**: $total
|
||||
- **With source changes**: $has_source ($(( has_source * 100 / total ))%)
|
||||
- **No source changes**: $no_source ($(( no_source * 100 / total ))%)
|
||||
- **Errors**: $errors
|
||||
|
||||
## Observations
|
||||
|
||||
_Add manual observations here after reviewing results._
|
||||
|
||||
## Sample Contexts
|
||||
|
||||
STATS
|
||||
|
||||
# Add 3 sample contexts from PRs with source changes
|
||||
echo "" >> "$OUTPUT"
|
||||
echo "### Sample 1: PR with source changes" >> "$OUTPUT"
|
||||
echo "" >> "$OUTPUT"
|
||||
|
||||
sample_pr=$(gh pr list --state merged --limit 20 --json number --jq '.[].number' | while read pr; do
|
||||
if "$SCRIPT_DIR/docs-suggest" --pr "$pr" --dry-run 2>/dev/null | grep -q "## Code Diff"; then
|
||||
echo "$pr"
|
||||
break
|
||||
fi
|
||||
done)
|
||||
|
||||
if [[ -n "$sample_pr" ]]; then
|
||||
echo "PR #$sample_pr:" >> "$OUTPUT"
|
||||
echo "" >> "$OUTPUT"
|
||||
echo '```' >> "$OUTPUT"
|
||||
"$SCRIPT_DIR/docs-suggest" --pr "$sample_pr" --dry-run 2>/dev/null | head -100 >> "$OUTPUT"
|
||||
echo '```' >> "$OUTPUT"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Done! Results written to: $OUTPUT"
|
||||
echo ""
|
||||
echo "Stats: $has_source with source changes, $no_source without, $errors errors"
|
||||
Reference in New Issue
Block a user