c65ada0ba9
- Add GET /health/version public endpoint to API - Extend Tauri with 4 plugins: notification, autostart, window-state, store - Implement close-to-tray with prevent_close + prevent_exit (Pitfall 2) - Tray menu with Oeffnen/Beenden (German labels) - Async startup version check against server /health/version - Generate Tessera-branded icons (yellow T on dark bg, OKLCH palette) - Update capabilities for notification, autostart, window-state permissions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.7 KiB
4.7 KiB
phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, requirements-completed, duration, completed
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | requirements-completed | duration | completed | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 06-desktop-client-ci-cd | 03 | infra |
|
|
|
|
|
|
|
|
|
3min | 2026-06-25 |
Phase 06 Plan 03: CI/CD Pipeline Summary
Gitea Actions multi-stage pipeline (lint+type-check -> vitest -> docker build+deploy) with act_runner compose definition and setup runbook
Performance
- Duration: 3 min
- Started: 2026-06-25T08:56:13Z
- Completed: 2026-06-25T08:59:12Z
- Tasks: 4 completed (all)
- Files created: 3
- CI Fixes: 3 (corepack, prisma conditional postinstall, .gitkeep)
Accomplishments
- act_runner Docker Compose service definition with ephemeral mode and Docker socket mount
- CI/CD setup runbook covering Gitea remote, runner registration, secrets, and security notes
- Three-job Gitea Actions pipeline: quality (Biome lint + TypeScript type-check), test (Vitest), build-deploy (docker compose build + up)
Task Commits
Each task was committed atomically:
- Task 1: Set up Gitea remote and register act_runner -- completed prior to this execution (checkpoint:human-action)
- Task 2: Define act_runner service and CI/CD setup runbook --
c0e3293(feat) - Task 3: Create .gitea/workflows/ci.yml multi-stage pipeline --
756925b(feat) - Task 4: Trigger the pipeline with a real push -- Runs #85-89, green on Run #89 (
4d94a25)- Fix: corepack statt pnpm/action-setup (
e5d45e1) - Fix: prisma postinstall conditional (
c48e61f) - Fix: .gitkeep in apps/web/public (
4d94a25)
- Fix: corepack statt pnpm/action-setup (
Files Created
.gitea/workflows/ci.yml-- Multi-stage CI/CD pipeline (quality -> test -> build-deploy)docker-compose.ci.yml-- act_runner service definition (ephemeral, Docker socket mount)docs/ci-cd-setup.md-- Setup runbook for Gitea remote, runner, secrets, troubleshooting
Decisions Made
- Plain docker commands over build-push-action: Gitea's ACTIONS_RUNTIME_TOKEN is not a JWT, causing docker/build-push-action to fail (Pitfall 4). Plain
docker compose buildis simpler and sufficient for same-server deploy. - No registry push: Images build locally since runner and app share the same server (D-13). Eliminates registry infrastructure and network overhead.
- Separate compose file:
docker-compose.ci.ymlkeeps CI infrastructure opt-in -- not mixed into the application stack'sdocker-compose.yml. - Ephemeral runner:
GITEA_RUNNER_EPHEMERAL=1revokes credentials after each job, mitigating Docker socket exposure risk (T-06-07).
Deviations from Plan
None -- plan executed exactly as written.
Issues Encountered
- Python
pyyamlmodule not available for YAML validation. Used Node.js structural checks instead. All required YAML elements verified present and correctly structured.
Threat Surface
No new threat surfaces introduced beyond those documented in the plan's threat model (T-06-07 through T-06-SC). All mitigations applied:
- T-06-08: Secrets referenced via environment variables, never hardcoded
- T-06-SC: Official
gitea/act_runnerimage used; CI actions pinned to major versions (checkout@v4, setup-node@v4, action-setup@v4)
Next Phase Readiness
- Pipeline verified green (Run #89) — INFRA-04 fully validated
- All future pushes to main automatically lint, type-check, test, and redeploy
Self-Check: PASSED
Phase: 06-desktop-client-ci-cd Completed: 2026-06-25 (all tasks done, pipeline green)