mirror of
https://github.com/jdx/mise-action.git
synced 2026-05-14 22:00:34 +00:00
70 lines
2.3 KiB
Markdown
70 lines
2.3 KiB
Markdown
# Example Workflow
|
|
|
|
```yaml
|
|
name: test
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
push:
|
|
branches:
|
|
- main
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: jdx/mise-action@v2
|
|
with:
|
|
version: 2024.10.0 # [default: latest] mise version to install
|
|
install: true # [default: true] run `mise install`
|
|
install_args: "bun" # [default: ""] additional arguments to `mise install`
|
|
cache: true # [default: true] cache mise using GitHub's cache
|
|
experimental: true # [default: false] enable experimental features
|
|
log_level: debug # [default: info] log level
|
|
# automatically write this .tool-versions file
|
|
tool_versions: |
|
|
shellcheck 0.9.0
|
|
# or, if you prefer .mise.toml format:
|
|
mise_toml: |
|
|
[tools]
|
|
shellcheck = "0.9.0"
|
|
working_directory: app # [default: .] directory to run mise in
|
|
reshim: false # [default: false] run `mise reshim -f`
|
|
github_token: ${{ secrets.GITHUB_TOKEN }} # [default: ${{ github.token }}] GitHub token for API authentication
|
|
- run: shellcheck scripts/*.sh
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: jdx/mise-action@v2
|
|
# .tool-versions will be read from repo root
|
|
- run: node ./my_app.js
|
|
```
|
|
|
|
## GitHub API Rate Limits
|
|
|
|
When installing tools hosted on GitHub (like `gh`, `node`, `bun`, etc.), mise needs to make API calls to GitHub's releases API. Without authentication, these calls are subject to GitHub's rate limit of 60 requests per hour, which can cause installation failures.
|
|
|
|
```yaml
|
|
- uses: jdx/mise-action@v2
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
# your other configuration
|
|
```
|
|
|
|
**Note:** The action automatically uses `${{ github.token }}` as the default, so in most cases you don't need to explicitly provide it. However, if you encounter rate limit errors, make sure the token is being passed correctly.
|
|
|
|
## Alternative Installation
|
|
|
|
Alternatively, mise is easy to use in GitHub Actions even without this:
|
|
|
|
```yaml
|
|
jobs:
|
|
build:
|
|
steps:
|
|
- run: |
|
|
curl https://mise.run | sh
|
|
echo "$HOME/.local/share/mise/bin" >> $GITHUB_PATH
|
|
echo "$HOME/.local/share/mise/shims" >> $GITHUB_PATH
|
|
```
|