Define target CI pipeline stages and gate policy for nodedesk #47

Closed
opened 2026-07-31 07:44:38 +00:00 by Mark · 0 comments
Owner

Goal

Design and land the target CI pipeline for Mark/nodedesk: a CI plan doc plus a concrete Forgejo Actions workflow at .forgejo/workflows/ci.yml.

Part of EPIC B (CI + Test Reliability): nodedesk#37 (Phase 1: Metadata), nodedesk#38 (Phase 2: Goal — establish quality gates). Originates from kanban decomposition card t_1fbaab93 (auto-decomposer split of #37's board mirror).

Required scope

Specify and implement:

  • Stages: lint, type-check, unit, integration, e2e, coverage gate
  • Required status checks (which jobs must be green to merge)
  • Branch protection rules (which branches, which checks are required)
  • Retry policy for known-flaky tests (quarantine marker + rerun rules)
  • Required artifacts: coverage report, JUnit XML

Acceptance

  • Workflow file is syntactically valid
  • Runs lint + unit on PR
  • Runs full matrix on main
  • Posts coverage comment on PR

Current repo state (verified 2026-07-31)

  • Branch ci/quality-gates-matrix -> PR #45 (open) already carries .forgejo/workflows/ci.yml (lint / typecheck / unit matrix node 20+22 / build, JUnit artifact upload) and .forgejo/workflows/e2e.yml (Playwright; NOT triggered on PR because the runner host-networking cannot reach service containers — P1001 infra issue).
  • docs/ci/audit.md and docs/testing/audit.md exist on that branch.
  • Runner constraint: jobs must use runs-on: linux (the only label the healthy containerized runner registers; ubuntu-latest also claims a bare-binary systemd runner whose docker client is broken and kills every job).
  • Coverage gate + PR coverage comment are NOT yet implemented (separate kanban card t_fd0466f2 builds on this one's workflow).
  • Known-flaky e2e specs are listed in docs/testing/audit.md (attachments, settings, worklog-timer, search, magic-link, dev-login).

Constraints

  • Forgejo Actions on the self-hosted runner; use full URLs for action references (e.g. https://data.forgejo.org/actions/checkout@v4).
  • No new test framework. Use existing npm scripts (lint, typecheck, test:unit, test:e2e, prisma:generate).
### Goal Design and land the target CI pipeline for Mark/nodedesk: a CI plan doc plus a concrete Forgejo Actions workflow at `.forgejo/workflows/ci.yml`. Part of EPIC B (CI + Test Reliability): nodedesk#37 (Phase 1: Metadata), nodedesk#38 (Phase 2: Goal — establish quality gates). Originates from kanban decomposition card t_1fbaab93 (auto-decomposer split of #37's board mirror). ### Required scope Specify and implement: - Stages: lint, type-check, unit, integration, e2e, coverage gate - Required status checks (which jobs must be green to merge) - Branch protection rules (which branches, which checks are required) - Retry policy for known-flaky tests (quarantine marker + rerun rules) - Required artifacts: coverage report, JUnit XML ### Acceptance - Workflow file is syntactically valid - Runs lint + unit on PR - Runs full matrix on main - Posts coverage comment on PR ### Current repo state (verified 2026-07-31) - Branch `ci/quality-gates-matrix` -> PR #45 (open) already carries `.forgejo/workflows/ci.yml` (lint / typecheck / unit matrix node 20+22 / build, JUnit artifact upload) and `.forgejo/workflows/e2e.yml` (Playwright; NOT triggered on PR because the runner host-networking cannot reach service containers — P1001 infra issue). - `docs/ci/audit.md` and `docs/testing/audit.md` exist on that branch. - Runner constraint: jobs must use `runs-on: linux` (the only label the healthy containerized runner registers; `ubuntu-latest` also claims a bare-binary systemd runner whose docker client is broken and kills every job). - Coverage gate + PR coverage comment are NOT yet implemented (separate kanban card t_fd0466f2 builds on this one's workflow). - Known-flaky e2e specs are listed in docs/testing/audit.md (attachments, settings, worklog-timer, search, magic-link, dev-login). ### Constraints - Forgejo Actions on the self-hosted runner; use full URLs for action references (e.g. https://data.forgejo.org/actions/checkout@v4). - No new test framework. Use existing npm scripts (lint, typecheck, test:unit, test:e2e, prisma:generate).
Mark closed this issue 2026-08-05 03:23:47 +00:00
Sign in to join this conversation.
No description provided.