Home

Awesome

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

NameDescriptionDefaultExamples
bun-versionThe version of Bun to download and install.latestcanary, 1.0.0, 1.0.x
bun-version-fileThe version of Bun to download and install from file.undefinedpackage.json, .bun-version, .tool-versions
bun-download-urlURL to download .zip file for Bun release
registry-urlRegistry URL where some private package is stored.undefined"https://npm.pkg.github.com/"
scopeScope for private packages.undefined"@foo", "@orgname"

Outputs

NameDescriptionExample
bun-versionThe output from bun --version.1.0.0
bun-revisionThe output from bun --revision.1.0.0+822a00c4
bun-pathThe path to the Bun executable./path/to/bun
bun-download-urlThe URL from which Bun was downloaded.https://bun.sh/download/latest/linux/x64?avx2=true&profile=false
cache-hitIf the Bun executable was read from cache.true