mise-action/action.yml
Jorge Rodriguez 121c4fdeaf
feat: add environment input to automatically set and export MISE_ENV
Add new 'environment' input parameter that simplifies multi-environment
workflows by automatically setting and exporting MISE_ENV to GITHUB_ENV.

Features:
- New optional 'environment' input (e.g., 'preview', 'production')
- Automatically exports MISE_ENV to GITHUB_ENV when env input is true
- Existing MISE_ENV environment variable takes precedence
- Automatically included in cache key via {{mise_env}} template variable
- Comprehensive test suite covering all edge cases

This eliminates the need for manual export steps in workflows and keeps
environment configuration within the action scope.

Closes #447
2026-04-21 10:00:28 +02:00

100 lines
3.5 KiB
YAML

name: mise action
description: Actions for working with mise runtime manager
author: Jeff Dickey <@jdx>
branding:
icon: arrow-down-circle
color: purple
inputs:
version:
required: false
description: The version of mise to use. If not specified, will use the latest release.
sha256:
required: false
description: The SHA256 checksum of the mise binary to verify the download.
mise_dir:
required: false
description: |
The directory that mise will be installed to, defaults to $HOME/.local/share/mise
Or $XDG_DATA_HOME/mise if $XDG_DATA_HOME is set.
Or $MISE_DATA_DIR if $MISE_DATA_DIR is set.
tool_versions:
required: false
description: If present, this value will be written to the .tool-versions file
mise_toml:
required: false
description: If present, this value will be written to the mise.toml file
install:
required: false
default: "true"
description: if false, will not run `mise install`
install_args:
required: false
description: Arguments to pass to `mise install` such as "bun" to only install bun
install_dir:
required: false
description: deprecated
cache:
required: false
default: "true"
description: if false, action will not read or write to cache
cache_save:
required: false
default: "true"
description: if false, action will not write to cache
cache_key_prefix:
required: false
default: "mise-v1"
description: The prefix key to use for the cache, change this to invalidate the cache
cache_key:
required: false
description: |
Override the complete cache key (ignores all other cache key options).
Supports template variables: {{version}}, {{cache_key_prefix}}, {{platform}}, {{file_hash}},
{{mise_env}}, {{install_args_hash}}, {{default}}, {{env.VAR_NAME}} for environment variables,
and conditional logic like {{#if version}}...{{/if}}
experimental:
required: false
default: "false"
description: if true, will use experimental features
log_level:
required: false
default: "info"
description: The log level to use for the action
working_directory:
required: false
description: The directory that mise runs in
reshim:
required: false
default: "false"
description: if true, will run `mise reshim --all` after setting up mise
add_shims_to_path:
required: false
default: "true"
description: if false, will not add mise shims directory to PATH
github_token:
required: false
description: |
GitHub token for API authentication to avoid rate limits when installing GitHub-hosted tools.
Defaults to the automatic GitHub token.
default: ${{ github.token }}
fetch_from_github:
required: false
default: "true"
description: If true (default), fetch the mise binary from GitHub. If false and using the latest version, fetch from mise.jdx.dev instead.
env:
description: "Automatically load mise env vars into GITHUB_ENV. Note that PATH modifications are not part of this."
required: false
default: "true"
environment:
required: false
description: |
The mise environment to use (e.g., "preview", "production").
When set, this value will be exported to GITHUB_ENV (if env input is true),
making it available to all subsequent workflow steps.
Note: If MISE_ENV is already set in the environment, it takes precedence over this input.
outputs:
cache-hit:
description: A boolean value to indicate if a cache was hit.
runs:
using: node24
main: dist/index.js