Set up your GitHub Actions workflow with a specific version of Bun
Find a file
Okinea Dev 7c641390eb
Some checks failed
🧪 Test / setup-bun (1.1.0, ubuntu-latest) (push) Successful in 1m1s
🧪 Test / setup-bun (1.x, ubuntu-latest) (push) Failing after 1m28s
🧪 Test / setup-bun (< 2, ubuntu-latest) (push) Failing after 1m30s
🧪 Test / setup-bun (> 1.0.0, ubuntu-latest) (push) Failing after 1m28s
🧪 Test / setup-bun (canary, ubuntu-latest) (push) Successful in 1m1s
🧪 Test / setup-bun (latest, ubuntu-latest) (push) Successful in 1m5s
🧪 Test / setup-bun from (ubuntu-latest, .bumrc (1.1.0)) (push) Successful in 56s
🧪 Test / setup-bun from (ubuntu-latest, .bun-version (1.1.0)) (push) Successful in 1m5s
🧪 Test / setup-bun from (ubuntu-latest, .tool-versions (bun 1.1.0)) (push) Successful in 1m9s
🧪 Test / setup-bun from (ubuntu-latest, .tool-versions (bun 1.1.0)) (push) Successful in 55s
🧪 Test / setup-bun from (ubuntu-latest, download url) (push) Successful in 59s
autofix.ci / format (push) Failing after 1m16s
🧪 Test / remove-cache (push) Successful in 55s
🧪 Test / setup-bun (1, ubuntu-latest) (push) Failing after 1m34s
🧪 Test / setup-bun from (ubuntu-latest, .tool-versions (bun1.1.0)) (push) Successful in 57s
🧪 Test / setup-bun from (ubuntu-latest, /foo/package.json (bun@1.1.0)) (push) Failing after 56s
🧪 Test / setup-bun from (ubuntu-latest, package.json (bun@1.1.0)) (push) Successful in 57s
🧪 Test / setup-bun from (ubuntu-latest, package.json (yarn@bun@1.1.0)) (push) Successful in 57s
🧪 Test / setup-bun (1, macos-latest) (push) Has been cancelled
🧪 Test / setup-bun (1, windows-latest) (push) Has been cancelled
🧪 Test / setup-bun (1.1.0, macos-latest) (push) Has been cancelled
🧪 Test / setup-bun (1.1.0, windows-latest) (push) Has been cancelled
🧪 Test / setup-bun (1.x, macos-latest) (push) Has been cancelled
🧪 Test / setup-bun (1.x, windows-latest) (push) Has been cancelled
🧪 Test / setup-bun (< 2, macos-latest) (push) Has been cancelled
🧪 Test / setup-bun (< 2, windows-latest) (push) Has been cancelled
🧪 Test / setup-bun (> 1.0.0, macos-latest) (push) Has been cancelled
🧪 Test / setup-bun (> 1.0.0, windows-latest) (push) Has been cancelled
🧪 Test / setup-bun (canary, macos-latest) (push) Has been cancelled
🧪 Test / setup-bun (canary, windows-latest) (push) Has been cancelled
🧪 Test / setup-bun (latest, macos-latest) (push) Has been cancelled
🧪 Test / setup-bun (latest, windows-latest) (push) Has been cancelled
🧪 Test / setup-bun from (macos-latest, .bumrc (1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (windows-latest, .bumrc (1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (macos-latest, .bun-version (1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (windows-latest, .bun-version (1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (macos-latest, .tool-versions (bun 1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (windows-latest, .tool-versions (bun 1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (macos-latest, .tool-versions (bun 1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (windows-latest, .tool-versions (bun 1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (macos-latest, .tool-versions (bun1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (windows-latest, .tool-versions (bun1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (windows-latest, /foo/package.json (bun@1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (macos-latest, /foo/package.json (bun@1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (macos-latest, package.json (bun@1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (windows-latest, package.json (bun@1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (macos-latest, package.json (yarn@bun@1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (windows-latest, package.json (yarn@bun@1.1.0)) (push) Has been cancelled
🧪 Test / setup-bun from (macos-latest, download url) (push) Has been cancelled
🧪 Test / setup-bun from (windows-latest, download url) (push) Has been cancelled
chore: add settings for vscode (#120)
* chore: update Prettier settings and add settings for vscode

* rollback semi

* fix: exclude `dist` from search and lock changes to some files

* Added `search.exclude` to ignore `dist/**` during searches.
* Configured `files.readonlyInclude` to lock changes to `dist/**`, `bun.lock`, and `package-lock.json`.
2025-07-08 15:29:27 +02:00
.github ci: update autofix ci 2025-04-27 15:53:25 +02:00
.vscode chore: add settings for vscode (#120) 2025-07-08 15:29:27 +02:00
dist build: bump @actions/cache version (#128) 2025-04-27 15:46:35 +02:00
src chore: add settings for vscode (#120) 2025-07-08 15:29:27 +02:00
.gitattributes Fix bunx (#18) 2023-09-11 12:37:45 -07:00
.gitignore Fix bunx (#18) 2023-09-11 12:37:45 -07:00
.prettierrc chore: add settings for vscode (#120) 2025-07-08 15:29:27 +02:00
action.yml ci: remove unnecessary steps & cleanup (#118) 2025-02-04 18:31:38 +01:00
bun.lock chore: add settings for vscode (#120) 2025-07-08 15:29:27 +02:00
bunfig.toml build: use text-based Bun lockfile (#116) 2025-01-05 12:45:22 +01:00
LICENSE chore: update package.json, license 2022-07-12 11:03:29 +02:00
package-lock.json chore: add settings for vscode (#120) 2025-07-08 15:29:27 +02:00
package.json chore: add settings for vscode (#120) 2025-07-08 15:29:27 +02:00
README.md fix(docs): remove wildcard in version (#124) 2025-04-27 15:48:05 +02:00
tsconfig.json Various improvements and fixes to setup-bun (#40) 2023-11-17 15:58:17 -08:00

setup-bun

Download, install, and setup Bun in GitHub Actions.

Usage

- 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 a custom NPM registry

- uses: oven-sh/setup-bun@v2
  with:
    registry-url: "https://npm.pkg.github.com/"
    scope: "@foo"

If you need to authenticate with a private registry, you can set the BUN_AUTH_TOKEN environment variable.

- name: Install Dependencies
  env:
    BUN_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
  run: bun install --frozen-lockfile

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"

Node.js not needed

In most cases, you shouldn't need to use the setup-node GitHub Action.

Inputs

Name Description Default Examples
bun-version The version of Bun to download and install. latest canary, 1.0.0
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"

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