perf(ci): parallelize plugin validation and add sha256 workspace caching - #247
Open
Louis1125 wants to merge 3 commits into
Open
perf(ci): parallelize plugin validation and add sha256 workspace caching#247Louis1125 wants to merge 3 commits into
Louis1125 wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.
Reviewed by Cursor Bugbot for commit 2686089. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary of Changes
This Pull Request improves the performance and reliability of local plugin verification and repository workflow automation in
cursor/plugins..github/scripts/validate.py): Replaced blocking sequential folder traversal with multi-threaded (ThreadPoolExecutor) parallel worker validation to significantly decrease validation execution time..github/scripts/utils/cache_manager.py): Introduced an incremental workspace cache layer (.cache/plugin_validation.json). Unmodified plugin manifests and configurations are skipped automatically across repeated local runs..github/workflows/validate.yml): Added an automated GitHub Actions workflow configured withactions/cacheto speed up CI runs on pull requests.README.md&.gitignore): Added local validation execution commands for contributors and ignored local.cache/build artifacts.Motivation & Performance Impact
As the number of plugins, skills (
SKILL.md), and rules (*.mdc) grows in the marketplace repository, running validation sequentially during local development and pre-commit checks introduces unnecessary I/O latency.File Changes Checklist
github/scripts/utils/cache_manager.py
— SHA-256 directory hashing and cache storage github/scripts/validate.py— Parallelized validation script enginegithub/workflows/validate.yml
— CI workflow with workspace caching support README.md— Updated local execution guidelinesgitignore
— Added.cache/` path ruleHow to Test
in bash(can be also in wsl/ubuntu)
python3 .github/scripts/validate.py
Note
Medium Risk
Adds a new CI job on every push/PR that can fail builds, but the cache API is called without hashes so skip/update logic is broken and Actions cache keys include github.sha.
Overview
Adds a new Python validator that walks top-level plugin dirs in parallel, parses nested
*.jsonfiles, and fails CI if any JSON is invalid. It also documentspython3 .github/scripts/validate.pyand ignores.cache/.A
ValidationCacheplus SHA-256 directory hashing is introduced, butvalidate.pynever computes hashes and callsis_cached/updatewith only a path, so incremental skip is not actually wired. The newvalidate.ymlworkflow runs on allmainpushes/PRs (alongside the existing Node schema job) and restores.cache/plugin_validation.jsonwith a key that includesgithub.sha, which limits cache reuse.Reviewed by Cursor Bugbot for commit 388ea8c. Bugbot is set up for automated code reviews on this repo. Configure here.