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
Replace Makefile with Taskfile.yml and move all generation-related logic there (#5050)
Each task describes inputs (sources) and outputs as precise as possible.
The tasks mostly match what we had in Makefile but slightly more
consistent approach:
- All go related tasks (tidy, lint, test) now have 3 subtasks for each
submodule (root, tools, codegen) which are aggregated into main one.
Previously we did not run tests & linters for tools and codegen modules.
- The targets that use lintdiff.py to do incremental run have -q suffix
(old fmtfull -> new fmt, old fmt -> new fmt-q).
- generate:genkit is task that runs genkit + follow ups. “generate” is
aggregate over all generation work.
This also consolidates all knowledge about generation in one place:
- tools/post-process.sh is removed, the followup commands are now part
of generate:genkit task
- testmask no longer contains of dependencies of CI targets, it reads
those from Taskfile.yml
The runner ([go-task](https://github.com/go-task/task)) is packaged as a
go tool, no installation need. Shortcut ./task is available to run it.
Makefile is temporarily a wrapper that calls ./task.
This enables caching - go-task will only re-run if sources changed. This
helps when checking after agent work - if they did run linters / tests
already, then running ./task is very quick.
```
~/work/cli-trees/task-file % time ./task
…
./task 612.63s user 310.22s system 726% cpu 2:06.95 total
```
```
~/work/cli-trees/task-file % time ./task
…
./task 2.43s user 10.58s system 133% cpu 9.727 total
```
Additionally, all golangci-lint tasks are fixed to use per-worktree &
per-submodule tmp directory, which enables parallel runs within worktree
and across worktrees.
Copy file name to clipboardExpand all lines: .agent/rules/testing.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,10 +134,10 @@ Available on `PATH` during test execution (from `acceptance/bin/`):
134
134
135
135
### Update workflow
136
136
137
-
**RULE: Run `make test-update` to regenerate outputs, then `make fmt` and `make lint`.** If fmt or lint modify files in `acceptance/`, there's an issue in the source files. Fix the source, regenerate, and verify fmt/lint pass cleanly.
137
+
**RULE: Run `./task test-update` to regenerate outputs, then `./task fmt` and `./task lint`.** If fmt or lint modify files in `acceptance/`, there's an issue in the source files. Fix the source, regenerate, and verify fmt/lint pass cleanly.
138
138
139
139
### Template tests
140
140
141
141
Tests in `acceptance/bundle/templates` include materialized templates in output directories. These directories follow the same `out` convention: everything starting with `out` is generated output. Sources are in `libs/template/templates/`.
142
142
143
-
**RULE: Use `make test-update-templates` to regenerate materialized templates.** If linters or formatters find issues in materialized templates, do not fix the output files; fix the source in `libs/template/templates/` and regenerate.
143
+
**RULE: Use `./task test-update-templates` to regenerate materialized templates.** If linters or formatters find issues in materialized templates, do not fix the output files; fix the source in `libs/template/templates/` and regenerate.
Copy file name to clipboardExpand all lines: .agent/skills/pr-checklist/SKILL.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,28 +3,28 @@ name: pr-checklist
3
3
description: Checklist to run before submitting a PR
4
4
---
5
5
6
-
Before submitting a PR, run these commands to match what CI checks. CI uses the **full** variants (not the diff-only wrappers), so `make lint` alone is insufficient.
6
+
Before submitting a PR, run these commands to match what CI checks. CI uses the full variants (not the `-q`diff-only wrappers), so `./task lint-q` alone is insufficient.
7
7
8
8
```bash
9
-
# 1. Formatting and checks (CI runs fmtfull, not fmt)
10
-
make fmtfull
11
-
make checks
9
+
# 1. Formatting and checks (CI runs fmt, not fmt-q)
10
+
./task fmt
11
+
./task checks
12
12
13
-
# 2. Linting (CI runs full golangci-lint, not the diff-only wrapper)
14
-
make lintfull
13
+
# 2. Linting (CI runs full golangci-lint across all modules, not the diff-only wrapper)
14
+
./task lint
15
15
16
16
# 3. Tests (CI runs with both deployment engines)
17
-
maketest
17
+
./tasktest
18
18
19
19
# 4. If you changed bundle config structs or schema-related code:
20
-
make schema
20
+
./task generate-schema
21
21
22
22
# 5. If you changed files in python/:
23
-
cd python && make codegen && make test&& make lint && make docs
echo "ERROR: detected changed files in the repository; Most likely you have out.test.toml files that are out of date. Run 'make generate-out-test-toml' to update."
156
+
echo "ERROR: detected changed files in the repository; Most likely you have out.test.toml files that are out of date. Run 'go test ./acceptance -run \"^TestAccept$\" -only-out-test-toml' to update."
157
157
exit 1
158
158
fi
159
159
@@ -164,7 +164,7 @@ jobs:
164
164
165
165
# Only run if the target is in the list of targets from testmask
0 commit comments