Valentin Maerten
bb90822ee0
fix(taskfile): resolve directory paths in remote git includes
...
When a remote Taskfile includes another Taskfile using a directory path
(e.g., `taskfile: ./website`), use fsext.SearchPath to properly resolve
it by searching for Taskfile.yml inside the directory.
This also simplifies the logic by delegating all path resolution to
SearchPath, which handles both file and directory paths.
2025-12-23 20:03:27 +01:00
Valentin Maerten
618538f4a8
fix(taskfile): omit ref param when cloning remote git repos without explicit ref
...
When no ref is specified in a remote Taskfile URL, go-getter was being
passed ref=HEAD which git interprets as a literal branch name, causing
"Remote branch HEAD not found" errors.
Now we omit the ref parameter entirely when not specified, letting git
clone the remote's default branch.
2025-12-23 19:56:21 +01:00
Valentin Maerten
cb183349b7
refactor: migrate from go-git to go-getter ( #2512 )
2025-12-18 12:21:30 +01:00
Timothy Rule
ea933bcc55
fix: support error_ignore for a task call ( #2552 )
2025-12-12 22:28:20 +01:00
Valentin Maerten
5889ff6b65
fix: globals vars are available in vars at root level ( #2403 )
2025-12-12 21:20:27 +01:00
Andrey Nering
745633dc0e
fix: a couple of fixes and improvements on task --init ( #2433 )
...
* Fixed check for an existing Taskfile: look for all possibilities, and
not only `Taskfile.yml` specifically.
* Added a description (`desc`) to the `default` task. Important to at
least `task --list` work by default (a core feature).
* Changed top comment to YAML language server comment.
2025-12-07 20:29:51 +00:00
Andrey Nering
9b99866224
feat: add --failfast and failtest: true to control dependencies ( #2525 )
2025-12-07 17:23:08 -03:00
Maciej Lech
72a349b0e9
feat: add --trusted-hosts CLI and remote.trusted-hosts config for remote tasks ( #2491 )
...
Co-authored-by: Valentin Maerten <maerten.valentin@gmail.com >
2025-12-07 12:17:54 +01:00
Valentin Maerten
b93638b97a
fix: allow application/octet-stream for a Remote taskfile ( #2536 )
2025-12-02 20:36:35 +01:00
Andrey Nering
c7b4f26900
chore: run modernize
2025-11-22 17:30:30 -03:00
Timothy Rule
386dcbc1a0
fix: adjust run: when_changed to work correctly with imported tasks ( #2511 )
2025-11-22 17:17:13 -03:00
Andrey Nering
ee99849b1d
refactor: migrate to the official yaml package ( #2434 )
...
The old package is long archived, but the YAML org forked it and will
officially maintain it from now on.
* Old: https://github.com/go-yaml/yaml
* New: https://github.com/yaml/go-yaml
2025-11-11 19:49:37 +00:00
Valentin Maerten
17757c0c15
fix: better error when a Taskfile does not exist in include ( #2494 )
2025-11-11 20:37:24 +01:00
Skip Baney
348158a5f6
fix: properly resolve remote entrypoints ( #2438 )
2025-10-12 13:29:57 +02:00
Andrey Nering
68b1d2783d
lint: fix lint by passing context
2025-09-21 16:09:51 -03:00
Timothy Rule
b8bf298c84
fix: panic for empty hash var ({}) ( #2417 )
2025-09-12 15:29:40 -03:00
Valentin Maerten
48039be12c
feat: improve fingerprint, run and output with wildcard ( #1808 )
2025-09-11 19:33:53 +02:00
Pete Davison
f89c12ddf0
feat: XDG taskrc config ( #2380 )
...
Co-authored-by: Valentin Maerten <maerten.valentin@gmail.com >
2025-08-18 22:43:36 +02:00
Pete Davison
71eb8cdeea
feat: checksum pinning ( #2223 )
2025-05-24 14:00:02 +01:00
Pete Davison
5323990c72
feat: redact credentials in remote urls ( #2220 )
...
* feat: redact credentials in remote urls
* chore: improve function naming
* fix: TaskfileNotSecureError should use redacted URI
* feat: unexport all node implementation fields
* fix: unexport HTTPNode.url
2025-05-24 13:38:18 +01:00
Pete Davison
8162b05f59
Revert "feat: process variables in include vars ( #2113 )"
...
This reverts commit f0414f162d .
2025-04-27 22:15:49 +00:00
Andrey Nering
3976e8372a
chore: move the experiments package out of the internal/ dir
...
Closes #2014
2025-04-21 13:55:56 -03:00
Pete Davison
c5afffb551
feat: recursive config search ( #2166 )
...
* refactor: experiments flags
* refactor: args.Parse
* feat: recursive search for taskrc files
* feat: consolidate some code into new fsext package
* feat: add tests for search and default dir
* fix: linting issues
2025-04-19 12:20:33 +01:00
Pete Davison
a84f09d45f
feat: remote taskfile improvements (cache/expiry) ( #2176 )
...
* feat: cache as node, RemoteNode and cache-first approach
* feat: cache expiry
* feat: pass ctx into reader methods instead of timeout
* docs: updated remote taskfiles experiment doc
* feat: use cache if download fails
2025-04-19 12:12:08 +01:00
Pete Davison
04df108fb5
docs: package api docs ( #2169 )
...
* refactor: pass Node into Read method instead of Reader type
* docs: add "key packages" and "Reading Taskfiles" sections to package doc
2025-04-19 11:58:31 +01:00
Pete Davison
a60c2ec3f8
fix: sources brace expansion ( #2075 )
2025-04-19 11:51:31 +01:00
Pete Davison
f0414f162d
feat: process variables in include vars ( #2113 )
...
* feat: process variables in include vars
* feat: add test for include variables
2025-04-05 23:12:54 +01:00
Pete Davison
cd81d94e18
feat: better functional options for reader ( #2148 )
2025-04-01 14:51:25 +01:00
Pete Davison
c6f1b3ae4f
feat: make map variables experiment (prop 2) generally available ( #2081 )
...
* feat: make map variables experiment (prop 2) generally available
* docs: remove map variables experiment page and update usage to include map variable info
2025-03-26 21:40:09 +00:00
Pete Davison
d1360ee72a
refactor: embed the default Taskfile instead of defining it in code ( #2112 )
2025-03-11 13:53:08 +00:00
Pete Davison
ffeb3bcc3f
refactor: executor functional options ( #2085 )
...
* refactor: executor functional options
* refactor: minor tidy up of list code
* fix: WithVersionCheck missing from call to NewExecutor
* feat: docstrings for structs with functional options
* refactor: prefix the functional options with the name of the struct they belong to
2025-03-10 20:38:25 +00:00
Pete Davison
6604b9a8cc
fix: special variable type errors in vars with no task context ( #2107 )
...
* fix: stop dotenv trying to fetch variables when no dotenv specified
* fix: set special variables to "" when they can't be calculated
2025-03-10 11:46:07 +00:00
Valentin Maerten
c23c46e326
fix: include with dynamic vars ( #2092 )
2025-02-26 17:49:05 +01:00
Oleksandr Redko
a266fba93e
chore: add linter mirror ( #2060 )
2025-02-24 09:06:54 -03:00
Pete Davison
b14125bacd
fix: remove debug line
2025-02-24 02:16:53 +00:00
Pete Davison
60c8ee0ce6
refactor: ast.Call should be in main task package ( #2084 )
2025-02-23 18:30:42 +00:00
Pete Davison
d6234af49a
feat: allow variable references in a matrix ( #2069 )
2025-02-23 18:13:56 +00:00
Valentin Maerten
461714a899
feat: add a new .taskrc.yml to enable experiments ( #1982 )
2025-02-23 10:51:59 +01:00
Pete Davison
daf39a04bf
feat: iterators ( #1798 )
...
* feat: update to github.com/elliotchance/orderedmap/v3
* refactor: better sort package
* feat: iterators
* chore: remove unnecessary code
2025-02-22 16:22:03 +00:00
Pete Davison
4d15a8be8f
feat: remove logger from taskfile package ( #2082 )
...
* refactor: remove logger from the taskfile node interface
* refactor: functional options on taskfile.Reader
* feat: use pass in debug/prompt functions to Reader rather than task Logger
* chore: reader docstrings
* fix: typo
2025-02-22 16:00:37 +00:00
Pete Davison
cdb6a3f70a
feat: decoding improvements ( #2068 )
...
* refactor: moved/simplified snippets into its own file with tests
* refactor: move snippet to taskfile package
* feat: support snippets with line/col = 0
* feat: functional options for snippets
* feat: added option to hide snippet indicators
* feat: store raw lines for length calculations
* feat: add debug function for TaskfileDecodeError
* fix: decode errors from commands
* fix: schema for defer cmd calls
* fix: linting issues
* refactor: split var and vars into different files like other structures
2025-02-22 15:44:22 +00:00
Pete Davison
6ce798e16c
feat: experiments logging improvements ( #2049 )
...
* feat: warn when enabling inactive experiments
* feat: TASK_ environment prefix
* feat: calculate experiment enabled/active instead of storing
* refactor: rename GetTaskVar to GetTaskEnv
* feat: experiments tests
2025-02-08 23:02:51 +00:00
Ukjae Jeong
edbb83f6de
fix: HTTPNode.Location when building graph ( #2007 )
...
* Fix HTTPNode.Location when building graph
* Add test and fix cache
2025-01-29 22:46:43 +00:00
Pete Davison
fd3532812e
fix: orderedmap race condition ( #1972 )
2024-12-30 17:58:45 +00:00
Pete Davison
2965841eb7
feat: use external package for ordered maps ( #1797 )
2024-12-30 17:54:36 +00:00
Valentin Maerten
5f1d46c770
feat: can exclude task from being included ( #1859 )
2024-12-30 10:09:28 +01:00
christiandins
4dffab2e0a
feat: add parallel test execution to improve runtime ( #1882 )
2024-12-11 21:47:10 -03:00
christiandins
b9a5d1c573
lint: add linter noctx ( #1898 )
2024-12-11 21:42:04 -03:00
Danilo Bürger
4595c1e32a
feat: add silent for defer ( #1879 )
...
Co-authored-by: Valentin Maerten <maerten.valentin@gmail.com >
2024-12-07 16:16:27 +01:00
Alexey Palazhchenko
2aa2963565
chore(deps): switch to mainted fork of git-urls ( #1917 )
2024-11-12 09:29:29 +01:00