2022-07-11 10:18:22 +02:00
|
|
|
# setup-bun
|
|
|
|
|
2023-02-22 17:47:24 -08:00
|
|
|
Download, install, and setup [Bun](https://bun.sh) in GitHub Actions.
|
2022-07-11 10:18:22 +02:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
```yaml
|
2024-06-23 21:56:22 +02:00
|
|
|
- uses: oven-sh/setup-bun@v2
|
2022-07-11 10:18:22 +02:00
|
|
|
with:
|
|
|
|
bun-version: latest
|
|
|
|
```
|
|
|
|
|
2024-06-21 21:11:16 +02:00
|
|
|
## Using version file
|
|
|
|
|
|
|
|
```yaml
|
2024-06-23 21:56:22 +02:00
|
|
|
- uses: oven-sh/setup-bun@v2
|
2024-06-21 21:11:16 +02:00
|
|
|
with:
|
2024-06-24 15:15:35 +02:00
|
|
|
bun-version-file: ".bun-version"
|
2024-06-21 21:11:16 +02:00
|
|
|
```
|
|
|
|
|
2023-11-17 15:58:17 -08:00
|
|
|
### Using a custom NPM registry
|
2023-11-01 06:17:17 -03:00
|
|
|
|
|
|
|
```yaml
|
2024-06-23 21:56:22 +02:00
|
|
|
- uses: oven-sh/setup-bun@v2
|
2023-11-01 06:17:17 -03:00
|
|
|
with:
|
|
|
|
registry-url: "https://npm.pkg.github.com/"
|
2023-11-17 15:58:17 -08:00
|
|
|
scope: "@foo"
|
2023-11-01 06:17:17 -03:00
|
|
|
```
|
|
|
|
|
2023-11-17 15:58:17 -08:00
|
|
|
If you need to authenticate with a private registry, you can set the `BUN_AUTH_TOKEN` environment variable.
|
2023-11-01 06:17:17 -03:00
|
|
|
|
|
|
|
```yaml
|
2023-11-17 15:58:17 -08:00
|
|
|
- name: Install Dependencies
|
2023-11-01 06:17:17 -03:00
|
|
|
env:
|
2023-11-17 15:58:17 -08:00
|
|
|
BUN_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
2024-02-01 18:30:42 -07:00
|
|
|
run: bun install --frozen-lockfile
|
2023-11-01 06:17:17 -03:00
|
|
|
```
|
|
|
|
|
2024-06-02 04:00:50 -07:00
|
|
|
### Override download url
|
|
|
|
|
|
|
|
If you need to override the download URL, you can use the `bun-download-url` input.
|
|
|
|
|
|
|
|
```yaml
|
2024-08-06 18:21:46 +09:00
|
|
|
- uses: oven-sh/setup-bun@v2
|
2024-06-02 04:00:50 -07:00
|
|
|
with:
|
|
|
|
bun-download-url: "https://github.com/oven-sh/bun/releases/latest/download/bun-linux-x64.zip"
|
|
|
|
```
|
|
|
|
|
2024-01-03 12:33:26 +02:00
|
|
|
### Node.js not needed
|
|
|
|
|
|
|
|
In most cases, you shouldn't need to use the [setup-node](https://github.com/actions/setup-node) GitHub Action.
|
|
|
|
|
2023-09-11 12:37:45 -07:00
|
|
|
## Inputs
|
2022-07-13 09:42:54 +02:00
|
|
|
|
2024-06-24 15:15:35 +02:00
|
|
|
| Name | Description | Default | Examples |
|
|
|
|
| ------------------ | ----------------------------------------------------- | ----------- | ------------------------------------------------ |
|
|
|
|
| `bun-version` | The version of Bun to download and install. | `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"` |
|
2022-07-28 07:50:56 +02:00
|
|
|
|
2023-09-11 12:37:45 -07:00
|
|
|
## Outputs
|
2022-07-28 07:50:56 +02:00
|
|
|
|
2024-06-24 15:19:27 +02:00
|
|
|
| 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` |
|
2024-06-24 13:19:56 +00:00
|
|
|
| `cache-hit` | If the Bun executable was read from cache. | `true` |
|