aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/README.md
blob: 446269c554a841ec5199c823b7780cc3de2f5d52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Clean up PATH
=============

[![Test](https://github.com/egor-tensin/cleanup-path/actions/workflows/test.yml/badge.svg)](https://github.com/egor-tensin/cleanup-path/actions/workflows/test.yml)

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@v2

* 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.
|         | *Other* |         | Additional paths, separated by a semicolon (;).
| default | 1       | ✓       | Add the default directories under C:\Windows.
|         | *Other* |         | Don't add the default directories.

The action sets the PATH environment variable.
Note that even if you call it with `default: 0` and don't specify any `dirs`,
it might not clear your PATH completely.
Actions like `setup-python`, etc. have a way to propagate their values to PATH
regardless.
Also, your `shell` selection matters.

License
-------

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

[LICENSE.txt]: LICENSE.txt