Valentin Maerten
542fe465e9
✨ feat(output): add gitlab output mode ( #2806 )
...
Adds a new `gitlab` output style that wraps each task's output in GitLab
CI collapsible section markers. Section IDs are generated automatically
so that start and end markers always match and stay unique per
invocation — even when the same task runs multiple times in one job.
Options: `collapsed` (maps to GitLab's native `[collapsed=true]`) and
`error_only` (Task-level behavior, identical to `group.error_only`).
Also introduces `output-ci-auto` (taskrc + TASK_OUTPUT_CI_AUTO env var)
that auto-selects a CI-aware output style when a supported CI runner is
detected (currently `GITLAB_CI=true` → gitlab) and no output style is
explicitly configured. Keeps the Taskfile neutral so local devs are not
forced into CI-shaped output.
Refs #2806 .
2026-04-22 14:10:55 +02:00
Valentin Maerten
8b6aca5722
feat(requires): support variable references in enum constraints ( #2678 )
2026-03-21 11:32:02 +01:00
Andrey Nering
fc5f6fa3aa
fix: pin yaml package to v3 for now ( #2693 )
2026-02-17 15:29:51 -03:00
Timothy Rule
df7810ab63
fix: copy watch when merging tasks during import ( #2686 )
2026-02-15 14:42:59 +01:00
Timothy Rule
f6720760b4
fix(includes): propagate silent mode from included Taskfiles to tasks ( #2640 )
2026-01-25 16:33:52 +01:00
Valentin Maerten
9bc1efbc47
feat: add conditional execution for tasks and commands ( #2564 )
2026-01-21 23:05:40 +01:00
Valentin Maerten
618cd8956f
feat: wildcard match aliases ( #2234 )
2026-01-18 19:05:29 +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
9b99866224
feat: add --failfast and failtest: true to control dependencies ( #2525 )
2025-12-07 17:23:08 -03: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
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
71eb8cdeea
feat: checksum pinning ( #2223 )
2025-05-24 14:00:02 +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
Valentin Maerten
c23c46e326
fix: include with dynamic vars ( #2092 )
2025-02-26 17:49:05 +01: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
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
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
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
Pete Davison
148b090d8e
fix: bug where non-nil, empty dynamic variables are returned as an empty interface ( #1904 )
2024-11-04 13:30:39 +00:00
Matheus Mina
5581954fb1
feat: allow providing single or multi prompts ( #1866 )
...
* Add new type to handle single or multi prompts
* update docs
* apply review
2024-10-29 13:37:03 +00:00
Valentin Maerten
a35910429c
feat: option to ensure variable is within the list of values ( #1827 )
2024-10-18 18:16:57 +02:00
Valentin Maerten
0e2c9cc88f
fix: include flatten with a default task ( #1778 )
2024-09-06 10:44:28 -03:00
Pete Davison
e4b4d04abd
fix: matrix loops should be deterministic ( #1784 )
2024-09-02 22:43:54 +01:00
Pete Davison
281d259e6e
feat: loop over a matrix ( #1767 )
2024-09-02 20:29:00 +01:00
Valentin Maerten
ef3b853728
feat: add option to declare an included Taskfile as flatten ( #1704 )
2024-08-26 17:17:39 -04:00
Pete Davison
5e9851f42f
Update minimum go version ( #1758 )
...
* feat: update minimum version to 1.22
* refactor: use int range iterator
* refactor: loop variables
* refactor: replace slicesext.FirstNonZero with cmp.Or
* refactor: use slices.Concat instead of append
* fix: unused param
* fix: linting
2024-08-14 08:37:05 -05:00
Pete Davison
3aaa3223a0
fix: run once in shared dependencies ( #1655 )
...
* fix: run once in shared dependencies
* feat: add test
2024-06-28 16:50:02 +01:00
Pete Davison
a3fce1c302
feat: variable references ( #1654 )
...
* feat: add references to the base code instead of the maps experiment
* feat: add template functions to ref resolver
* feat: tests
* docs: variable references
* feat: remove json and yaml keys from map variable experiment
* chore: typo
2024-05-16 16:20:59 +01:00
Pete Davison
8d138a5eea
feat: better yaml parsing and error handling ( #1619 )
2024-05-16 01:24:02 +00:00
Pete Davison
725f929778
fix: included variable merging ( #1649 )
2024-05-12 20:32:09 +01:00
Pete Davison
f75aa1f84b
feat: taskfile mutex for adding edge data
2024-04-24 18:33:56 +01:00
Pete Davison
f19c520f23
feat: add support for multiple includes on a graph edge
2024-04-24 18:33:56 +01:00
Pete Davison
6951e5cd0c
refactor: includes uses pointers
2024-04-24 18:33:56 +01:00
Pete Davison
54c7f35b00
fix: linting issues
2024-04-09 12:37:18 +01:00
Pete Davison
3efb437c9a
feat: merge concurrency
2024-04-09 12:37:18 +01:00
Pete Davison
e9448bd4be
fix: advanced import operates on including file instead of included file
2024-04-09 12:37:18 +01:00
Pete Davison
8f3180a9fa
fix: bug with merge code
2024-04-09 12:37:18 +01:00
Pete Davison
1d230af90d
fix: advanced import resolving dynamic variables incorrectly
2024-04-09 12:37:18 +01:00
Pete Davison
fb9f6c20ab
feat: merger
2024-04-09 12:37:18 +01:00