Mirror of oven-sh/setup-bun, the action CI uses to install Bun (not deployed)
- TypeScript 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
autofix.ci / format (push) Failing after 2s
🧪 Test / remove-cache (push) Successful in 2s
🧪 Test / Tests (push) Failing after 2s
🧪 Test / setup-bun (1, windows-11-arm) (push) Has been skipped
🧪 Test / setup-bun (1, windows-latest) (push) Has been skipped
🧪 Test / setup-bun (1.1.0, macos-latest) (push) Has been skipped
🧪 Test / setup-bun (1.1.0, ubuntu-latest) (push) Has been skipped
🧪 Test / setup-bun (1.1.0, windows-11-arm) (push) Has been skipped
🧪 Test / setup-bun (1.1.0, windows-latest) (push) Has been skipped
🧪 Test / setup-bun (1.3.10, macos-latest) (push) Has been skipped
🧪 Test / setup-bun (1.3.10, ubuntu-latest) (push) Has been skipped
🧪 Test / setup-bun (1.3.10, windows-11-arm) (push) Has been skipped
🧪 Test / setup-bun (1.3.10, windows-latest) (push) Has been skipped
🧪 Test / setup-bun (1.x, macos-latest) (push) Has been skipped
🧪 Test / setup-bun (1.x, ubuntu-latest) (push) Has been skipped
🧪 Test / setup-bun (1.x, windows-11-arm) (push) Has been skipped
🧪 Test / setup-bun (1.x, windows-latest) (push) Has been skipped
🧪 Test / setup-bun (< 2, macos-latest) (push) Has been skipped
🧪 Test / setup-bun (< 2, ubuntu-latest) (push) Has been skipped
🧪 Test / setup-bun (< 2, windows-11-arm) (push) Has been skipped
🧪 Test / setup-bun (1, macos-latest) (push) Has been skipped
🧪 Test / setup-bun (1, ubuntu-latest) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, download url) (push) Has been skipped
🧪 Test / setup-bun (< 2, windows-latest) (push) Has been skipped
🧪 Test / setup-bun (> 1.0.0, macos-latest) (push) Has been skipped
🧪 Test / setup-bun (> 1.0.0, ubuntu-latest) (push) Has been skipped
🧪 Test / setup-bun (> 1.0.0, windows-11-arm) (push) Has been skipped
🧪 Test / setup-bun (> 1.0.0, windows-latest) (push) Has been skipped
🧪 Test / setup-bun (canary, macos-latest) (push) Has been skipped
🧪 Test / setup-bun (canary, ubuntu-latest) (push) Has been skipped
🧪 Test / setup-bun (canary, windows-11-arm) (push) Has been skipped
🧪 Test / setup-bun (canary, windows-latest) (push) Has been skipped
🧪 Test / setup-bun (latest, macos-latest) (push) Has been skipped
🧪 Test / setup-bun (latest, ubuntu-latest) (push) Has been skipped
🧪 Test / setup-bun (latest, windows-11-arm) (push) Has been skipped
🧪 Test / setup-bun (latest, windows-latest) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, .bumrc (1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, .bumrc (1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, .bumrc (1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, .bumrc (1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, .bun-version (1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, .bun-version (1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, .bun-version (1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, .bun-version (1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, .tool-versions (bun 1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, .tool-versions (bun 1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, .tool-versions (bun 1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, .tool-versions (bun 1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, .tool-versions (bun 1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, .tool-versions (bun 1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, .tool-versions (bun 1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, .tool-versions (bun 1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, .tool-versions (bun1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, .tool-versions (bun1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, .tool-versions (bun1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, .tool-versions (bun1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, foo/package.json (packageManager bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, foo/package.json (packageManager bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, foo/package.json (packageManager bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, foo/package.json (packageManager bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, package.json (engines bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, package.json (engines bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, package.json (engines bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, package.json (engines bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, package.json (packageManager bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, package.json (packageManager bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, package.json (packageManager bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, package.json (packageManager bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, package.json (packageManager yarn@bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, package.json (packageManager yarn@bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, package.json (packageManager yarn@bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, package.json (packageManager yarn@bun@1.1.0)) (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, package.json (engines bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, package.json (engines bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, package.json (engines bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, package.json (engines bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, package.json (packageManager bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, package.json (packageManager bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, package.json (packageManager bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, package.json (packageManager bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, package.json (packageManager yarn@bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (ubuntu-latest, package.json (packageManager yarn@bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (windows-11-arm, package.json (packageManager yarn@bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, package.json (packageManager yarn@bun@1.1.0)) without specified field (push) Has been skipped
🧪 Test / setup-bun from (macos-latest, download url) (push) Has been skipped
🧪 Test / setup-bun from (windows-latest, download url) (push) Has been skipped
🧪 Test / test installing deps from custom registries (ubuntu-latest) (push) Has been skipped
|
||
| .github | ||
| .vscode | ||
| dist | ||
| patches | ||
| src | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierrc | ||
| action.yml | ||
| bun.lock | ||
| bunfig.toml | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
setup-bun
Download, install, and setup Bun in GitHub Actions.
Usage
- uses: oven-sh/setup-bun@v2
By default, if no version is specified, the action will:
- Check
package.jsonfor thepackageManagerfield (e.g.,"packageManager": "bun@1.0.25") - If
packageManagerdoesn't exist, checkpackage.jsonforengines.bun - If neither exists or
package.jsonis not found, uselatest
You can also explicitly specify a version:
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
Using version file
- uses: oven-sh/setup-bun@v2
with:
bun-version-file: ".bun-version"
Using custom registries
You can configure multiple package registries using the registries input. This supports both default and scoped registries with various authentication methods.
Registry configuration
- uses: oven-sh/setup-bun@v2
with:
registries: |
https://registry.npmjs.org/
@myorg:https://npm.pkg.github.com/|$GITHUB_TOKEN
@internal:https://username:$INTERNAL_PASSWORD@registry.internal.com/
- name: Install dependencies
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INTERNAL_PASSWORD: ${{ secrets.INTERNAL_PASSWORD }}
run: bun install
Registry format options
| Type | Format |
|---|---|
| Default registry | https://registry.example.com/ |
| Default registry with token | https://registry.example.com/|$TOKEN |
| Scoped registry | @scope:https://registry.example.com/ |
| Scoped registry with token | @scope:https://registry.example.com/|$TOKEN |
| Scoped registry with URL credentials | @scope:https://username:$PASSWORD@registry.example.com/ |
Important
When using authentication, make sure to set the corresponding environment variables in your workflow steps that need access to the registries.
For more information about configuring registries in Bun, see the official documentation.
Override download url
If you need to override the download URL, you can use the bun-download-url input.
- uses: oven-sh/setup-bun@v2
with:
bun-download-url: "https://github.com/oven-sh/bun/releases/latest/download/bun-linux-x64.zip"
Inputs
| Name | Description | Default | Examples |
|---|---|---|---|
bun-version |
The version of Bun to download and install. | Version from package.json, or latest |
canary, 1.0.0, 1.0.x |
bun-version-file |
The version of Bun to download and install from file. | undefined |
package.json, .bun-version, .tool-versions |
bun-download-url |
URL to download .zip file for Bun release | ||
registry-url |
Registry URL where some private package is stored. | undefined |
"https://npm.pkg.github.com/" |
scope |
Scope for private packages. | undefined |
"@foo", "@orgname" |
no-cache |
Disable caching of the downloaded executable. | false |
true, false |
token |
Personal access token (PAT) used to fetch tags from the oven-sh/bun repository. |
${{ github.token }} |
${{ secrets.GITHUB_TOKEN }} |
Outputs
| Name | Description | Example |
|---|---|---|
bun-version |
The output from bun --version. |
1.0.0 |
bun-revision |
The output from bun --revision. |
1.0.0+822a00c4 |
bun-path |
The path to the Bun executable. | /path/to/bun |
bun-download-url |
The URL from which Bun was downloaded. | https://bun.sh/download/latest/linux/x64?avx2=true&profile=false |
cache-hit |
If the Bun executable was read from cache. | true |