-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Add Bun runtime support for JavaScript actions #4126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for using Bun as a JavaScript runtime for GitHub Actions by allowing using: "bun" in action manifests. The implementation includes automatic download and installation of Bun v1.3.2 across all supported platforms (Windows x64, macOS x64/ARM64, Linux x64/ARM64) with special handling for Alpine containers.
Key Changes:
- Added Bun runtime detection and execution logic to the Node script action handler
- Updated action manifest validation to accept "bun" as a valid runtime option
- Modified external dependencies script to download Bun binaries for all platforms
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Misc/externals.sh | Downloads Bun v1.3.2 binaries for all platforms, including musl variants for Alpine |
| src/Runner.Worker/Handlers/StepHost.cs | Implements Bun runtime version determination with Alpine container detection |
| src/Runner.Worker/Handlers/NodeScriptActionHandler.cs | Adds Bun execution path and conditional environment variable handling |
| src/Runner.Worker/ActionManifestManager.cs | Updates manifest parser to accept "bun" as valid runtime |
| src/Runner.Worker/ActionManifestManagerLegacy.cs | Updates legacy manifest parser to accept "bun" as valid runtime |
| src/Test/L0/Worker/ActionManifestManagerL0.cs | Updates test expectations for new error messages |
| src/Test/L0/Worker/ActionManifestManagerLegacyL0.cs | Updates test expectations for new error messages |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.
Signed-off-by: Vladislav Polyakov <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
using: "bun".Note: This implementation was developed with assistance from LLM.
#2846