This GitHub action cleans up the PATH variable.
The PATH variable on Windows runners is a cesspool. For example, it includes seemingly dozens of MinGW distributions. This action takes a page out of MSYS2's book here, and cleans PATH so that only the default paths are included.
Use it in your workflow like this:
- name: Clean up PATH
uses: egor-tensin/cleanup-path@v5
- You can pass additional directory paths to add to PATH using the
dirsparameter. - System directories under C:\Windows are added to PATH by default.
Disable this by setting the
defaultparameter to0.
| Input | Value | Default | Description |
|---|---|---|---|
| dirs | empty | ✓ | No additional paths. |
| any | Additional paths, separated by a semicolon (;). | ||
| default | 1 | ✓ | Add the default directories under C:\Windows. |
| any | Don't add the default directories. |
The action sets the PATH environment variable.
- Even if you call the action with
default: 0and don't specify anydirs, it might not clear your PATH completely. Actions likesetup-python, etc. seem to have a way to propagate their values to PATH regardless. Also, yourshellselection matters. - v1 of this action is a simple composite action with the same API.
At some point, it turned out that restoring PATH value might be desirable in
the action's
poststage. In particular, the GitHub-providedcacheaction wasn't able to find thetarexecutable on windows-2016 images (windows-2019 images have it built-in under C:\Windows). Composite actions don't support having thepoststage, so it became a JavaScript action.
Distributed under the MIT License. See LICENSE.txt for details.