Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/antongolub/action-setup-bun
Setup GitHub Actions workflow with a specific version of Bun
https://github.com/antongolub/action-setup-bun
actions bun github github-actions
Last synced: about 1 month ago
JSON representation
Setup GitHub Actions workflow with a specific version of Bun
- Host: GitHub
- URL: https://github.com/antongolub/action-setup-bun
- Owner: antongolub
- License: mit
- Created: 2022-07-08T19:49:08.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-11T11:55:10.000Z (2 months ago)
- Last Synced: 2024-05-05T08:03:17.196Z (about 1 month ago)
- Topics: actions, bun, github, github-actions
- Language: TypeScript
- Homepage:
- Size: 1.96 MB
- Stars: 49
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Lists
- awesome-bun - action-setup-bun - Setup GitHub Actions workflow with a specific version of Bun. (Tools / Adapters)
- awesome-bun - action-setup-bun
- my-awesome-stars - antongolub/action-setup-bun - Setup GitHub Actions workflow with a specific version of Bun (TypeScript)
README
# action-setup-bun
> Setup GitHub Actions workflow with a specific version of [Bun](https://github.com/oven-sh/bun) and add `$BUN_INSTALL/bin` to the `$PATH`.
[![CI](https://github.com/antongolub/action-setup-bun/actions/workflows/ci.yaml/badge.svg)](https://github.com/antongolub/action-setup-bun/actions/workflows/ci.yaml)
[![Maintainability](https://api.codeclimate.com/v1/badges/51f63421b9c234ac6f27/maintainability)](https://codeclimate.com/github/antongolub/action-setup-bun/maintainability)
[![Test Coverage](https://api.codeclimate.com/v1/badges/51f63421b9c234ac6f27/test_coverage)](https://codeclimate.com/github/antongolub/action-setup-bun/test_coverage)## Requirements
* macOS x64 & Silicon, Linux x64, Windows Subsystem for Linux## Usage
```yaml
- name: Setup Bun Runtime
uses: antongolub/action-setup-bun@v1 # or @v1.x.x
with:
# Optional, if empty the latest bun version will be used
# Examples: 0.0.77, 0.1.2, >=0.1, *
bun-version: 0.1.2# Optional, default is 'Jarred-Sumner/bun-releases-for-updater'
# Example: oven-sh/misc-test-builds
bun-repo: 'Jarred-Sumner/bun-releases-for-updater'# Override bunfig.toml inners
# Optional. JSON-formatted string as input
# See: https://github.com/oven-sh/bun#bunfigtoml
bun-config: '{"install": {"production": false}}'
# Attach $BUN_INSTALL/install/cache to action/cache
# Optional, defaults to false
cache: true# actions/tool-cache provides a cache for the current job only
# Use actions/cache to store the bun binary for the whole workflow
# Optional, defaults to false
cache-bin: true# Optional, default is process.platform
# Examples: darwin, linux
platform: 'linux'# Optional, default is process.arch
# Examples: x64, arm64
arch: 'x64'
# Authenticated requests get a higher rate limit
# Optional. Defaults to ${{ github.token }}
token: 'gh-token'- name: Run script
run: bun index.js
```### bun-repo
There are at least 3 known places to fetch bun distributions:
* [`Jarred-Sumner/bun-releases-for-updater`](https://github.com/Jarred-Sumner/bun-releases-for-updater/releases)
* [`oven-sh/bun`](https://github.com/oven-sh/bun/releases)
* [`oven-sh/misc-test-builds`](https://github.com/oven-sh/misc-test-builds/releases)### $HOME
The `env.HOME` is used to store the `bun` binary (`${HOME}/.bun/bin`). If you want to assign another directory, you can override this `env` option.
```yaml
env:
HOME: '/custom/path'
```### Outputs
| Name | Description |
|---------------|------------------------------------------|
| `bun-version` | The version of Bun that was installed |
| `cache-hit` | if the bun cache was hit: `true / false` |
| `error` | if an error occurred, the error message |### Debug
[This flag](https://github.com/actions/toolkit/blob/master/docs/action-debugging.md) can be enabled by setting the secret `ACTIONS_STEP_DEBUG` to `true`.## License
[MIT](LICENSE)