fix: improve CI benchmark table in PR#1663
Merged
hsluoyz merged 5 commits intoapache:masterfrom Jan 8, 2026
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR refactors the benchmark workflow to improve security by separating it into two workflows: one that runs benchmarks without write permissions, and another that posts comments with appropriate permissions. A Python script is added to format benchmark results with visual indicators (emojis) for performance changes.
Key changes:
- Split benchmark workflow into two separate workflows to follow GitHub Actions security best practices
- Added Python script to post-process benchmark output with percentage formatting and emoji indicators
- Upgraded Go version from '1.21' to 'stable' for automatic latest version usage
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/performance-pr.yml | Removed write permissions, changed to upload artifacts instead of directly posting comments, upgraded Go version |
| .github/workflows/comment.yml | New workflow that triggers on workflow_run completion to post PR comments with write permissions |
| .github/scripts/post_comment.js | Script to validate artifacts and post/update benchmark comments on PRs |
| .github/scripts/download_artifact.js | Script to download benchmark artifacts from the completed workflow run |
| .github/scripts/benchmark_formatter.py | Python script to parse and format benchmark output with percentages and visual indicators |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
🎉 This PR is included in version 3.8.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
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.
The benchmark process is divided into two separate workflows to resolve permission restrictions.
A Python script is implemented to post-process the benchmark output. Results are formatted with clear percentages and emojis (🚀/🐌) to ensure performance changes are easily understood.
And the automatic posting of results as pull request comments is optimized through new scripts. These changes are made to enhance both the security and readability of the CI process.