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
Copy file name to clipboardExpand all lines: README.md
+6-5Lines changed: 6 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ myke solves all these problems in a single tiny binary, to avoid reinventing the
9
9
## Features
10
10
11
11
* Define tasks in simple `.yml` files
12
+
* Tasks execute in a predictable environment irrespective of which folder they are invoked from
12
13
* Nice aggregation and discovery with tag-based grouping, suitable for few and many tasks, organizing into subfolders/submodules/repos/projects
13
14
* Robust environment handling - Can be defined as keys in the YML or as dotenv files, overridden by dotenv.local files, `PATH` is always prepended, shell always takes precedence
14
15
* Built-in templating using golang text/template and 50+ functions provided by [sprig](https://github.com/Masterminds/sprig)
@@ -54,20 +55,20 @@ Explore the self documenting `examples` folder.
54
55
55
56
## Task Execution Environment
56
57
57
-
*`cwd`is set to the YML file base folder
58
-
*`cwd/bin` is added to `PATH`
58
+
*tasks always run with `cwd` set to the folder where the task is defined
59
+
*`cwd/bin` is always added to `PATH`
59
60
* environment variables are loaded from:
60
61
*`env` property in yml
61
62
* dotenv files from `env_files`
62
-
* for every dotenv file, the corresponding dotenv `.local` file is also loaded
63
+
* for every dotenv file, the corresponding dotenv `.local` file is also loaded if present
63
64
* same is done for every mixin that the yml uses
64
65
* So, if you mixin `<some-other-folder>/myke.yml`, then that yml's `cwd/bin` is also added to the PATH, that yml's env/env_files/env_files.local are also loaded, and so on
65
66
* shell exported environment variables take precedence
0 commit comments