aboutsummaryrefslogtreecommitdiffstatshomepage

Clean up PATH

Test

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@v4
  • You can pass additional directory paths to add to PATH using the dirs parameter.
  • System directories under C:\Windows are added to PATH by default. Disable this by setting the default parameter to 0.

API

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.

Notes

  • Even if you call the action with default: 0 and don't specify any dirs, it might not clear your PATH completely. Actions like setup-python, etc. seem to have a way to propagate their values to PATH regardless. Also, your shell selection 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 post stage. In particular, the GitHub-provided cache action wasn't able to find the tar executable on windows-2016 images (windows-2019 images have it built-in under C:\Windows). Composite actions don't support having the post stage, so it became a JavaScript action.

License

Distributed under the MIT License. See LICENSE.txt for details.