Skip to content

Conversation

@aidenmitchell
Copy link
Owner

Testing bulk PR comment with latest code (11 rules > max 10)

aidenmitchell and others added 17 commits January 16, 2026 10:56
- Extract monolithic sync_detection_rules.py into shared library modules
- Create separate sync_test_rules.py and sync_shared_samples.py scripts
- Move helper scripts to .github/scripts/
- Add PR commenting for exclusions (membership, bulk, link_analysis)
- Add do-not-merge label check to skip PRs from syncing
- Update rule-validate.yml to use local scripts
- Rename update-test-rules.yml to sync-test-rules.yml
- Add new sync-shared-samples.yml workflow

New directory structure:
.github/scripts/
  lib/           - Shared library modules
  sync_test_rules.py
  sync_shared_samples.py
  mql_format.py
  check_invisible_chars.py
  generate_rule_ids/

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Introduces a caching layer that reduces API calls by 50-70%:
- Labels: fetched once per PR instead of 8-16 times
- Comments: fetched once per PR instead of twice
- Org membership: cached per user across all PRs

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add prefetch_labels(), prefetch_pr_files(), prefetch_file_contents()
  methods to PRCache using ThreadPoolExecutor
- Update sync_shared_samples.py to prefetch all data in parallel before
  processing (93s -> 11s, ~88% faster)
- Update sync_test_rules.py with same parallel prefetching pattern

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- GITHUB_TOKEN (PAT) for heavy API reads (PRs, files, membership)
- GITHUB_WRITE_TOKEN (Actions token) for labels and comments
- Extract shared GitHub API functions to lib/github_api.py
  - get_pull_requests(state, max_results) - unified PR fetching
  - get_files_for_pull_request() - PR file listing
- Add should_process_file() helper to lib/file_utils.py
- Make PR exclusion comments generic for org membership and bulk PR
- Add bulk PR comment logic to sync_shared_samples.py

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@github-actions
Copy link

Test Rules Sync - Excluded

This PR contains 11 rules, which exceeds the maximum of 10 rules allowed per PR for automatic syncing.

This limit helps ensure the test-rules environment remains manageable. If you need to test these rules, consider:

  • Splitting the PR into smaller PRs with fewer rules
  • Contacting the team to request a manual sync

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants