You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Automatically load mise env vars into GITHUB_ENV. Note that PATH modifications are not part of this.
However, the current implementation runs mise env --json and exports every string value using core.exportVariable(), including PATH.
As a result, PATH modifications configured with [env] _.path in mise.toml are persisted to subsequent GitHub Actions steps, contrary to the documented behavior.
Reproduction
Create the following mise.toml:
[env]
_.path = ["{{config_root}}/local-bin"]
Then run this workflow:
steps:
- uses: actions/checkout@v4
- name: Create a local executableshell: bashrun: | mkdir -p local-bin printf '#!/usr/bin/env bash\necho "found through _.path"\n' > local-bin/sample-tool chmod +x local-bin/sample-tool
- name: Set up miseuses: jdx/mise-action@e6a8b3978addb5a52f2b4cd9d91eafa7f0ab959d # v4.2.0with:
version: 2026.7.5install: falsecache: false
- name: Check PATH propagationrun: sample-tool
The final step succeeds because local-bin has been added to PATH by the action.
Expected behavior
Based on the env input description, PATH modifications such as [env] _.path should not be exported to subsequent steps.
Alternatively, if exporting PATH is now intentional, the input description should be updated and the behavior should be covered by a test.
Additional context
The original environment export implementation in #241 used:
miseenv--dotenv
That implementation was consistent with the description excluding PATH modifications.
In #252, the implementation changed to mise env --json to support redacted values and began exporting every returned string:
Summary
The
envinput description states:However, the current implementation runs
mise env --jsonand exports every string value usingcore.exportVariable(), includingPATH.As a result, PATH modifications configured with
[env] _.pathinmise.tomlare persisted to subsequent GitHub Actions steps, contrary to the documented behavior.Reproduction
Create the following
mise.toml:Then run this workflow:
The final step succeeds because
local-binhas been added toPATHby the action.Expected behavior
Based on the
envinput description, PATH modifications such as[env] _.pathshould not be exported to subsequent steps.Alternatively, if exporting
PATHis now intentional, the input description should be updated and the behavior should be covered by a test.Additional context
The original environment export implementation in #241 used:
That implementation was consistent with the description excluding PATH modifications.
In #252, the implementation changed to
mise env --jsonto support redacted values and began exporting every returned string:Because
mise env --jsonincludesPATH, this appears to have changed the behavior without updating theenvinput description.Relevant references:
envinput description:mise-action/action.yml
Lines 94 to 98 in e6a8b39
mise-action/src/index.ts
Lines 156 to 190 in e6a8b39