From 70240a13cf23057939bb3648a2f21fc480c842d1 Mon Sep 17 00:00:00 2001 From: emil User Date: Sun, 12 Jul 2026 20:02:03 +0000 Subject: [PATCH] GRM-147: docs: add retrospective for CI consolidation and devx adoption --- ...7-12-ci-consolidation-and-devx-adoption.md | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 docs/retrospectives/2026-07-12-ci-consolidation-and-devx-adoption.md diff --git a/docs/retrospectives/2026-07-12-ci-consolidation-and-devx-adoption.md b/docs/retrospectives/2026-07-12-ci-consolidation-and-devx-adoption.md new file mode 100644 index 0000000..98e2b8e --- /dev/null +++ b/docs/retrospectives/2026-07-12-ci-consolidation-and-devx-adoption.md @@ -0,0 +1,105 @@ +# Retrospective: CI Consolidation and devx Adoption + +## Date +2026-07-12 + +## Context +The grm repo (Gitea Runner Manager) underwent CI workflow consolidation +and adopted the latest devx package (v0.40.0 → v0.40.1) during this +period. The self-approval fallback fix in devx v0.40.1 required passing +`CI_GITEA_API_TOKEN` to the approval step in grm's CI workflow. This +retrospective covers grm v0.17.2 through v0.18.0. + +## Scope + +PRs: GRM-144 (IPv6/pasta), GRM-145 (devx v0.40.0 adoption), GRM-146 (CI +consolidation). Plus the self-approval fallback cherry-pick. ~12 commits. + +## Timeline of Key Events + +| Event | Description | +|-------|-------------| +| GRM-144 merged | IPv6 support via pasta network driver (v0.18.0) | +| GRM-145 merged | Adopted devx v0.40.0, removed redundant crypto/vault wrappers | +| GRM-146 merged | Consolidated CI and post-merge workflows (7→2 jobs) | +| devx v0.40.1 bump | Cherry-picked self-approval fallback into grm CI | + +No CI failures were specific to grm during this period. The grm CI +passed cleanly on all runs. The only issue was the cross-repo +self-approval bug (inherited from devx), which was fixed by bumping +devx to v0.40.1 and passing `CI_GITEA_API_TOKEN` to the approval step. + +## What Served Us Well + +- **Clean CI consolidation.** GRM-146 merged 7 CI jobs into 2 + (validate + molecule-tests) without any CI failures. The + consolidation pattern was already proven in devx (DEVX-126), so the + application to grm was straightforward. +- **devx adoption was smooth.** GRM-145 adopted devx v0.40.0 and removed + redundant crypto/vault wrappers. The refactoring was clean — no test + failures, no coverage drops. +- **Molecule tests stable.** All 6 molecule scenarios passed on every + CI run. The pasta networking change (GRM-144) was well-tested with + molecule before merge. +- **Pre-push hook caught missing Vikunja tasks.** The pre-push hook + validates Vikunja task existence, preventing pushes without + corresponding tasks. + +## What Could Be Improved + +### 1. Cross-Repo Dependency Propagation + +When devx v0.40.1 was released with the self-approval fix, grm needed +to bump its devx version and update the CI workflow to pass +`CI_GITEA_API_TOKEN`. This was a manual process — there's no automated +mechanism to detect that a devx release affects downstream repos. + +**Impact:** The self-approval fix was in devx for ~30 min before grm +was updated. If the timing had been different, grm PRs could have been +blocked. + +**Lesson:** When releasing a devx fix that affects CI workflows in +downstream repos, bump devx in all repos in the same session. Consider +a "dependabot" style check that flags outdated devx versions. + +### 2. No Repo-Specific Retrospective Directory + +The grm repo didn't have a `docs/retrospectives/` directory until now. +Previous retrospectives were only in the infra repo. This meant grm- +specific lessons weren't being captured. + +**Impact:** Low — grm had fewer issues during this period. But going +forward, grm-specific learnings should be documented here. + +**Fix:** Created `docs/retrospectives/` directory with this +retrospective. + +## Improvements Implemented + +### 1. CI Workflow Consolidation (MEDIUM impact) + +Merged 7 CI jobs into 2 (validate + molecule-tests), matching the +pattern established in devx. Reduced runner overhead by ~4 min per CI +run. + +### 2. devx v0.40.1 Adoption (HIGH impact) + +Bumped devx to v0.40.1, picking up the self-approval fallback fix. +Updated CI workflow to pass `CI_GITEA_API_TOKEN` to the approval step. + +### 3. IPv6 Support via Pasta (MEDIUM impact) + +GRM-144 enabled IPv6 in rootless Docker via the pasta network driver, +replacing the previous slirp4netns setup. This improves network +performance and enables IPv6 connectivity for runner containers. + +## Action Items for Future Sessions + +1. **Bump devx in all downstream repos when a CI-affecting fix is + released.** Don't leave repos on stale devx versions. +2. **Document grm-specific lessons in this retrospective directory.** + Don't rely on the infra retrospective to cover grm issues. +3. **When consolidating CI workflows, verify that all status checks + referenced by branch protection are still present.** The + consolidation renamed `quality` to `validate`, requiring a branch + protection update.