feat: live tracker suite - WIKITOOL_TASKS_CONFIG override, real-tracker tests for Super Productivity and CalDAV, nightly workflow and test image (#156)
Files changed: - .gitea/scripts/start-radicale.sh - .gitea/sp-live/Dockerfile - .gitea/sp-live/resolve-version.sh - .gitea/workflows/ci.yml - .gitea/workflows/sp-live-image.yml - .gitea/workflows/tracker-live.yml - .gitignore - CHANGES.md - DEVELOPMENT.md - INSTALL.md - VERSION - instructions/dev/doc-pull-through.md - instructions/dev/stack-dev/SKILL.md - instructions/dev/testing-conventions.md - instructions/dev/tracker-testing.md - kb/gtd/INDEX.md - kb/gtd/technik/Chemenu 8.0.0 freigeben.md - kb/gtd/technik/Windows nativ unterstützen.md - kb/index.md - tools/CONTRACT.md - tools/chemenu/commands/docs_verify.py - tools/chemenu/commands/doctor.py - tools/chemenu/commands/review_cmd.py - tools/chemenu/commands/task_cmd.py - tools/chemenu/config.py - tools/chemenu/tasks/config.py - tools/chemenu/tests/conftest.py - tools/chemenu/tests/fixtures/sp/MANIFEST.json - tools/chemenu/tests/fixtures/sp/api/health.json - tools/chemenu/tests/fixtures/sp/api/projects.json - tools/chemenu/tests/fixtures/sp/api/tags.json - tools/chemenu/tests/fixtures/sp/api/tasks.json - tools/chemenu/tests/fixtures/sp/seed-backup.json - tools/chemenu/tests/record_sp_fixtures.py - tools/chemenu/tests/sp_headless.py - tools/chemenu/tests/test_doctor.py - tools/chemenu/tests/test_review.py - tools/chemenu/tests/test_sp_recorded.py - tools/chemenu/tests/test_task_cmd.py - tools/chemenu/tests/test_tasks_config.py - tools/chemenu/tests/test_tracker_live.py - tools/chemenu/tests/tracker_live.py - tools/pytest.ini
This commit is contained in:
1 parent
529793b255
commit
b0c64772cc
43 files changed
+2279
-32
No files matched your search
+39
-1
@@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse.
|
||||
|
||||
---
|
||||
|
||||
## 8.0.0-beta.2 - 2026-09-30 - Super Productivity API path: unwrap the {ok, data} envelope, exclude the inbox project, ready-aware health (#162)
|
||||
## 8.0.0-beta.3 - 2026-09-30 - Live tracker suite: WIKITOOL_TASKS_CONFIG override, real-tracker tests for Super Productivity and CalDAV, nightly workflow and test image
|
||||
|
||||
**Author:** Torben Nehmer
|
||||
|
||||
@@ -79,6 +79,7 @@ concern - readable here, never shipped as something to parse.
|
||||
- fail() prints the command's ON FAILURE lines on stderr
|
||||
- Budget gate and loop-breaker refusals exit without a traceback
|
||||
- Super Productivity API path: unwrap the {ok, data} envelope, exclude the inbox project, ready-aware health (#162)
|
||||
- Live tracker suite: WIKITOOL_TASKS_CONFIG override, real-tracker tests for Super Productivity and CalDAV, nightly workflow and test image
|
||||
|
||||
**Low impact**
|
||||
- version bump no longer points at version release in its output
|
||||
@@ -109,6 +110,43 @@ concern - readable here, never shipped as something to parse.
|
||||
- new_page/type_resolver comments no longer claim only entities declare a layout:
|
||||
<!-- /wikitool:bumps -->
|
||||
|
||||
### Live tracker suite: WIKITOOL_TASKS_CONFIG override, real-tracker tests for Super Productivity and CalDAV, nightly workflow and test image (Gitea #156)
|
||||
|
||||
The task-tracker adapters were only ever tested against fakes, which is how #162 stayed hidden.
|
||||
This adds a suite that runs the documented `task new` / `task list` / `task close` / `review`
|
||||
workflow against a real tracker, and the machinery to run it on a clock.
|
||||
|
||||
- **`WIKITOOL_TASKS_CONFIG`** names the tracker configuration `task`, `review` and `doctor`
|
||||
read instead of `.wikitool-tasks.json`, so one checkout can be run against several trackers in
|
||||
turn. A set variable that names no file is an error naming the path - never "no tracker
|
||||
configured". Listed in INSTALL.md's variable table and in the affected command records.
|
||||
- **The `live_tracker` suite** (`tests/test_tracker_live.py`, `tests/tracker_live.py`) writes only
|
||||
into a project named `Chemenu Live-Test`, prefixes every item with the run id, deletes
|
||||
nothing, and aborts before the first write when the marker project is missing. It skips
|
||||
without a tracker; `CHEMENU_LIVE_REQUIRE` turns a missing one into a failure. A tracker of
|
||||
your own is named by `.wikitool-tasks.d/<name>.json` (gitignored, absolute paths only) and
|
||||
`CHEMENU_LIVE_PROFILE`.
|
||||
- **Headless Super Productivity** (`tests/sp_headless.py`) starts the packaged app on a seeded
|
||||
profile, accepts its startup restore dialog over the DevTools protocol and refuses to start
|
||||
when something already answers on the fixed API port.
|
||||
- **Recorded fixtures** (`tests/fixtures/sp/`) hold real answers of v19.1.0 and a backup the app
|
||||
wrote itself; `test_sp_recorded.py` replays them in the default run, and
|
||||
`tests/record_sp_fixtures.py` records them again.
|
||||
- **CI.** `ci.yml` runs the CalDAV half against a Radicale process on every push.
|
||||
`tracker-live.yml` runs both providers nightly inside the `chemenu-sp-live` image, which
|
||||
`sp-live-image.yml` builds daily when the update channel has a new Super Productivity version
|
||||
and monthly regardless. The image follows the channel rather than a pin, because installed
|
||||
desktop clients update themselves.
|
||||
- **Docs.** `instructions/dev/tracker-testing.md` has the profile procedure per tracker, when an
|
||||
agent dispatches the nightly run, what a red night means and how to refresh the fixtures;
|
||||
`testing-conventions.md` names the live suite as the one deliberate exception to the hermetic
|
||||
default. `docs verify` gained an ignore canary for `.wikitool-tasks.d/`.
|
||||
- **Demo corpus.** `kb/gtd/technik/` gains two project pages taken from the Windows and release
|
||||
work, matching projects in the seed backup, so `review` has something to join.
|
||||
|
||||
The Docker package `chemenu-sp-live` has to be linked to this repository once, by hand, after the
|
||||
first image build.
|
||||
|
||||
### Super Productivity API path: unwrap the {ok, data} envelope, exclude the inbox project, ready-aware health (Gitea #162)
|
||||
|
||||
Preparing the live tracker tests (#156) ran the real Super Productivity v19.1.0 headless for the
|
||||
|
||||
Reference in new issue
Block a user