9.2 KiB
Migration backlog
Every repository that needs CI/CD on the new system, and its state. The old system (platform-ci, both ci-policy dispatchers, the Gitea publishers) was switched off on 2026-11-07, so repositories not marked done have no CI until migrated.
Done (on ci-workflows)
- All 41 QRun-IO qbits,
qqq,qqq-frontend-next,qbit-help,qbit-template-*,qbit-printing,qbit-record-files,qbit-scripting,qbit-document-generation,qqq-app-starter,qctl(verify) - KofTwentyTwo:
kof22-agent-foundation,Website-Publisher,Cogniscor - npm publishing (2026-11-08, node.yaml
publish: true, Gitea npm registry): QRun-IOqqq-frontend-core(0.40.27-RC.1),qqq-frontend-component-sequential-workflow(1.0.0-RC.1); callers on@mainuntil v1 moves - No-CI batch (2026-11-07): QRun-IO
qqq-frontend-core,qqq-frontend-component-sequential-workflow(node.yaml, verify);qqq-frontend-material-dashboard(maven.yaml + npm prebuild, Selenium ITs on browser runners, publishes); KofTwentyTwoobsidian-penny(node.yaml, verify) - Native (2026-11-08, callers pin
@v1; they run oncev1includes the native workflows): QRun-IOqqq-android(android.yaml: unit tests, lint, APKs, emulator connected tests; AAR publish onvX.Y.Z); KofTwentyTwoAppKit,MarkdownViewr.Windows,windows-app-template(windows.yaml, Lore;.githubkept for the GitHub mirror),MetalPOC,VoicePOC,PerfectCup(macos.yaml, grogu) - Small workflows (2026-11-08, go.yaml / gradle.yaml / lint.yaml; callers pin
@v1and run oncev1includes them):- go.yaml: KofTwentyTwo
license-tool(gofmt, vet, golangci-lint, race tests, 100% coverage gate;v*tags attach 5 archives + SHA256SUMS to the Gitea release, proven with a throwaway tag) - gradle.yaml: QRun-IO
qqq-app-developer-intellij-plugin, KofTwentyTwointellij-commentator-plugin(verified wrapper; both had a non-officialgradle-wrapper.jar, replaced) - lint.yaml: QRun-IO
qqq-meta-manager(shellcheck),qqq-templates-hub(yamllint); KofTwentyTwogamut(JSON, ruff),standards(markdownlint, yamllint, lychee internal links; plus conformance tests on windows.yaml),terraform-proxmox-talos(tofu fmt + validate),Praetor(shellcheck on ops/, tofu fmt; oracle/vendor fixtures excluded) - Checked and not Go (no go.yaml):
gclo(.NET),kfmtbox(Rust),Munitor(CircleCI orb, shell/bats),Jarvis(Swift/Xcode),jarvis-file(Node),ArmariumMinutum(README and LICENSE only: no CI) - Not migrated:
Galaxy-Cloud-Init(legacy, superseded by Praetor and cluster-gitops; ansible-lint reports ~250 findings in its authored roles, not worth fixing in a dormant repo: owner decision to retire or revive)
- go.yaml: KofTwentyTwo
In progress
| Repository | Workflow | State |
|---|---|---|
| KofTwentyTwo/Website-Backend | container.yaml + GitOps | Done: deploys from main (prod on run-74, 2026-11-07) |
| KofTwentyTwo/cluster-gitops | manifests.yaml | Done (#298, allowlist #299); maven-proxy fix #301 awaiting owner merge |
| KofTwentyTwo/investinginchester | container.yaml + GitOps | On Gitea image in prod (cluster-gitops #300); auto-deploy PR #12 needs GITOPS_TOKEN |
| KofTwentyTwo/nuncio-website | container.yaml + GitOps | Merged; image builds; deploy needs GITOPS_TOKEN |
| KofTwentyTwo/theimpactbuilding | container.yaml + GitOps | On develop; main PR #6 needs GITOPS_TOKEN first |
| QRun-IO/qqq-all, qqq-business-platform | maven.yaml / container.yaml | Being migrated |
| QRun-IO/qqq-print-agent | windows.yaml + node.yaml | PR #17 open: Defender on qqq-gitea-win-6218 quarantines the built Qqq.PrintAgent.Core.Tests.dll; needs an exclusion for C:\ProgramData\GiteaNative (or the disabled Lore QRun runner back) |
| KofTwentyTwo/markdownViewr, VisionPOC | macos.yaml | PRs #3 / #2 open: xcodebuild test cannot reach testmanagerd on grogu (runner is a launchd daemon, no GUI session); VisionPOC also needs git-lfs on grogu |
| KofTwentyTwo/CommandTabFree | macos.yaml | Not migrated: its tests are app-hosted xcodebuild test (same grogu block); guard.yml greps still need porting |
| QRun-IO/qqq-print-protocol | node.yaml (publish, release-files) |
Done (2026-11-08): tag → Gitea release with bundle + SHA256SUMS + CHANGELOG notes (proof v1.1.1-rc.1); caller on @main until v1 moves |
| QRun-IO/qqq-cli | node.yaml (verify) + own release.yaml |
Done (2026-11-08): tag v<CLI version> → gate, Linux/macOS/Windows binaries, Gitea release, Gitea npm, Homebrew/Scoop for finals (see its runbook) |
To migrate (after the baseline is stable)
| Repository | Type | Needs | Notes |
|---|---|---|---|
| QRun-IO/qqq-android | Android AAR | new Gradle/Android workflow | android-build runner label |
| QRun-IO/scoop-bucket | Windows Scoop bucket | small scoop workflow | 4 old workflows removed |
| KofTwentyTwo/Lukes-Rocket-Launcher | CMake/PlatformIO firmware | small build workflow | |
| QRun-IO/ci-qualification | old CI qualification | probably retire | |
| QRun-IO/Voyage | app image + deploy | container.yaml + GitOps | parked: app broken (replicas 0) |
Plus: an inventory of every remaining repository that has no workflow at all (decide CI or none).
No-CI triage (2026-11-07, proposal for owner sign-off)
Inventory of every repository with no .gitea/workflows (sweep of both orgs, 178 repos). Proposed bucket per repo;
the owner confirms or moves items. "Needs CI" items join the migration table above in this order.
Needs CI — ships code (by workflow type):
- container (live or deployable apps): QRun-IO/Voyage (parked), Concilium apps if revived, KofTwentyTwo/Aestimare, Forma, Claritas, limen, opifex-ordinis, business-agents, kof22-post, notion-sql, nuncio (check: superseded by nuncio-website?)
- node.yaml: KofTwentyTwo/Website-Content (content lint). Migrated: qqq-frontend-core, qqq-frontend-component-sequential-workflow, obsidian-penny (node.yaml) and qqq-frontend-material-dashboard (really Maven + npm: maven.yaml) — see Done.
- Checked and not Node/Maven (2026-11-07), re-bucketed: QRun-IO/qqq-templates-hub (one
templates.yaml: small YAML lint at most), new-qqq-application-template (Velocity-templated Maven project rendered by an interactive Python script, pins QQQ 4.0.0: needs a render-then-mvn verifyjob — owner decision), qqq-meta-manager (shell scripts and docs: small shellcheck workflow), qqq-maven-registry (README only: no CI); KofTwentyTwo/gamut (JSON schema + one Python tool: small lint at most), jarvisdoc (docs only: no CI), license-tool (Go: migrated, see Done) - Gradle: QRun-IO/qqq-app-developer-intellij-plugin, KofTwentyTwo/intellij-commentator-plugin (migrated, see Done)
- native: done or blocked, see above (AppKit and CommandTabFree turned out to be .NET/Windows and Swift/macOS; gclo-macos is README-only: no CI). Checked 2026-11-08, none is Go: gclo (.NET: windows.yaml), kfmtbox (Rust: needs a Rust workflow), Munitor (CircleCI orb: retire with the orbs), Jarvis (Swift: macos.yaml), jarvis-file (Node: node.yaml), ArmariumMinutum (empty: no CI); firmware — Lukes-Rocket-Launcher
- small lint workflows: standards, Praetor, terraform-proxmox-talos, gamut, qqq-meta-manager, qqq-templates-hub done (see Done); open: nix (nix flake check), synology-tools; Galaxy-Cloud-Init legacy (not migrated)
Package manifests (tiny validation at most): KofTwentyTwo/homebrew-tap, winget-pkgs; QRun-IO/homebrew-tap, homebrew-qctl, scoop-bucket
No CI needed (docs, config, profiles, forks, notes): KofTwentyTwo/.github, .profile, KofTwentyTwo, Books, ClaudeCode, SecondBrain, second-brain, dotfiles, DMDBrands-InitialAssessment, System-Assessments, DevOps, Jellyfin, GalaxyLan-CA, datagrip, cache, download-artifact, upload-artifact, obsidian-releases; QRun-IO/.github, .github-private, .profile, .profile-private, Company-Obsidian
Retire / archive (superseded or dead): -pre-recovery-20261031 copies (AppKit, nuncio-website, qqq-frontend-core, qbit-standard-process-trace), ci-policy (both), qqq-orb, ci-fleet-qualification (both), ci-qualification, carl, carl-CD, makers4, Concilium, Concilium-CD, UnifiedDev, Unified-Development-2, qqq-mcp-rag, qqq-mcp-rag-standard-policies, qbit-template (KOF duplicates), k8s-app-of-apps, Website-CD, bigcapital-cd, marketing-website-cd, voyage-cd (GitOps now lives in cluster-gitops)
Instance/org-level leftovers of the old system: the retired platform-ci ci.yaml / native.yaml instance or org workflows still run on repos; delete them in Gitea admin (Actions workflow settings).
Not migrating (owner decisions)
carl, qqq-mcp-rag (retired), qbit-standard-process-trace-pre-recovery-*, UnifiedDev,
KOF qbit-template-extension (duplicate), makers4, Concilium.
Old system teardown
- Gitea publishers suspended (cluster-gitops #297)
- Both ci-policy dispatchers off (QRun-IO/ci-policy #45, KofTwentyTwo/ci-policy #22)
- Old workflow files removed from all repositories
- Stale CI branches deleted
- Archive
platform-ci, bothci-policy,qqq-orb - Delete publisher apps/namespaces; revoke publisher accounts and tokens (Praetor)
- Move
v1to include go.yaml, gradle.yaml and lint.yaml (owner): the 2026-11-08 small-workflow callers pin@v1 - Re-enable required status checks (
pause_status_checks.py --restore, pointed at new checks)