ci: implement benchmarks and automated CI workflow#541
Closed
ci: implement benchmarks and automated CI workflow#541
Conversation
|
|
Pull Request Test Coverage Report for Build 20820648323Details
💛 - Coveralls |
- Add benchmark.ts with tests for RBAC, ABAC, and Basic models - Add benchmark script to package.json - Install benchmark.js and @types/benchmark dependencies - Create GitHub Actions workflow for automated benchmarking on PRs - Update .gitignore to exclude benchmark artifacts Co-authored-by: hsluoyz <3787410+hsluoyz@users.noreply.github.com>
- Add comprehensive README for benchmark directory - Fix ESLint errors in benchmark.ts - Verify all tests still pass Co-authored-by: hsluoyz <3787410+hsluoyz@users.noreply.github.com>
- Extract JSON parsing logic to separate extract-results.js script - Extract comparison logic to separate compare-results.js script - Improve error handling in benchmark workflow - Add benchmark JS files to .eslintignore - Fix misleading comment in benchmark.ts Co-authored-by: hsluoyz <3787410+hsluoyz@users.noreply.github.com>
- Fix usage message in extract-results.js and compare-results.js - Add file existence checks in benchmark.ts to validate example files - Improve error handling in workflow using continue-on-error - Make benchmark failures more visible while still allowing comparison Co-authored-by: hsluoyz <3787410+hsluoyz@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Implement benchmarks and automated CI workflow
ci: implement benchmarks and automated CI workflow
Jan 8, 2026
Member
|
@copilot fix: |
The workflow was failing because after checking out the base branch, the benchmark scripts (extract-results.js and compare-results.js) no longer exist. Now we copy them to /tmp before checkout and use them from there for processing base branch results. Co-authored-by: hsluoyz <3787410+hsluoyz@users.noreply.github.com>
Contributor
Author
... Fixed in commit 2ec74ba. The issue was that the workflow checked out the base branch to run benchmarks on it, but the benchmark scripts (extract-results.js and compare-results.js) only exist in the PR branch. Now the scripts are copied to /tmp before checking out the base branch, so they're available for processing results from both branches. |
📊 Benchmark ResultsPerformance comparison between base branch and PR:
Legend:
|
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.
Benchmark Implementation Plan
Summary
✅ Implementation Complete!
This PR adds a comprehensive benchmark suite and automated CI workflow to node-casbin:
What's Included
Benefits
Recent Fix
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.