utils/.github/workflows
Krzysztof kuhy Rudnicki bd64b27109 sickdays 0.3.0: desktop sick-day picker and embeddable KeepPanel
`sickdays gui` opens a Tk window modelled on the phone's Sick days screen:
a Monday-first month calendar (cat-2 fill, a dot for kept lockers, past
days faded and inert), a five-switch panel for the clicked day, and the
"Marked sick" list with "Kept: ..." lines. A free day is refused with the
phone's wording. Each write starts sync_quietly() on a non-daemon thread.
The window class is "sickdays" and Escape closes it.

sickdays.gui.KeepPanel is the panel on its own, a plain tk.Frame with no
root, mainloop, grab or wm_* call, so screen-locker can embed it under its
lock-screen grab. `import sickdays` and the rest of the CLI never import
tkinter: the CLI loads the gui module by name only for `gui`, and a
subprocess test checks this.

The tests drive real Tk on a withdrawn root, and CI now runs them under
xvfb-run, as gatelock's CI does. Adds a sickdays.desktop launcher, which
install.sh installs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAhbNszs5JKdtnD4uBi3xp
2026-10-17 13:47:26 +02:00
..
crdt-sync-dart-tests.yml crdt_sync_dart: latest stable + exact pins, 100% coverage, CI for both crdt_sync packages 2026-08-28 12:32:24 +02:00
crdt-sync-flutter-tests.yml crdt_sync_dart: latest stable + exact pins, 100% coverage, CI for both crdt_sync packages 2026-08-28 12:32:24 +02:00
crdt-sync-precommit.yml Cache .mypy_cache so mypy stops re-analysing the stdlib every run 2026-09-12 18:28:58 +02:00
crdt-sync-tests.yml Cache pre-commit hooks per package, and pip, so CI stops reinstalling 2026-09-12 18:16:51 +02:00
dependency-freshness.yml Refuse to overwrite utils' own checker with the delegate shim 2026-08-28 16:02:34 +02:00
design-system-tests.yml Wire design_system into CI, and drop EmptyState's speculative action slot 2026-08-14 23:08:59 +02:00
earned-time-precommit.yml earned_time 0.1.0: one penalty-then-reward registry for gaming and shutdown time 2026-10-04 18:44:30 +02:00
earned-time-tests.yml earned_time 0.1.0: one penalty-then-reward registry for gaming and shutdown time 2026-10-04 18:44:30 +02:00
file-length.yml One Python per repo, always the newest, and the gate that enforces it 2026-08-28 20:58:19 +02:00
freedays-precommit.yml Cache .mypy_cache so mypy stops re-analysing the stdlib every run 2026-09-12 18:28:58 +02:00
freedays-tests.yml Cache pre-commit hooks per package, and pip, so CI stops reinstalling 2026-09-12 18:16:51 +02:00
gatelock-precommit.yml Cache .mypy_cache so mypy stops re-analysing the stdlib every run 2026-09-12 18:28:58 +02:00
gatelock-tests.yml Cache pre-commit hooks per package, and pip, so CI stops reinstalling 2026-09-12 18:16:51 +02:00
github-device-auth-tests.yml github_device_auth: extract the GitHub device flow from four apps 2026-08-15 15:57:19 +02:00
md-naming.yml Add the shared markdown-naming gate and migrate utils' own docs 2026-08-24 15:53:12 +02:00
music-theory-tests.yml music_theory: music theory from first principles, as code you can hear 2026-09-11 18:29:13 +02:00
palette-drift.yml One Python per repo, always the newest, and the gate that enforces it 2026-08-28 20:58:19 +02:00
repo-contract.yml repo contract + coverage_gaps gates, test_changed, dependency bumps 2026-10-04 16:27:28 +02:00
shared-gates-tests.yml repo contract + coverage_gaps gates, test_changed, dependency bumps 2026-10-04 16:27:28 +02:00
sickdays-precommit.yml sickdays 0.1.0 + earned_time 0.11.0: uncapped sick-day pool, 20:00 sick shutdown floor 2026-10-16 08:23:00 +02:00
sickdays-tests.yml sickdays 0.3.0: desktop sick-day picker and embeddable KeepPanel 2026-10-17 13:47:26 +02:00
sync-settings-ui-tests.yml Add sync_settings_ui: shared Firebase-only sync settings screen 2026-08-12 23:10:17 +02:00
ts-config-tests.yml gatelock: annotate a fixture param ruff 0.16.8 now flags; TS workflows dispatchable 2026-09-16 21:53:47 +02:00
ts-core-tests.yml gatelock: annotate a fixture param ruff 0.16.8 now flags; TS workflows dispatchable 2026-09-16 21:53:47 +02:00
web-ui-tests.yml gatelock: annotate a fixture param ruff 0.16.8 now flags; TS workflows dispatchable 2026-09-16 21:53:47 +02:00