feat(scaffold): add GitLab CI/CD pipeline templates - #3193
Conversation
|
🤖 Finished Review · ✅ Success · Started 11:58 PM UTC · Completed 12:10 AM UTC |
PR Summary by QodoAdd embedded GitLab per-repo CI/CD scaffold templates
AI Description
Diagram
High-Level Assessment
Files changed (16)
|
Site previewPreview: https://16f57603-site.fullsend-ai.workers.dev Commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Code Review by Qodo
1. GitLabPerRepoFile lacks tests
|
ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous runReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous run (2)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous run (3)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Labels: PR modifies docs/ADRs and docs/plans alongside scaffold and Go code — component/docs applies per repo convention of labeling doc changes alongside code component labels. Previous run (4)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous run (5)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous run (6)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous run (7)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous run (8)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous run (9)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous run (10)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
Previous run (11)ReviewThis is a re-review. The prior review (SHA
FindingsMedium
Low
|
54cfb94 to
e696ab1
Compare
|
🤖 Review · |
e696ab1 to
9e26a35
Compare
|
🤖 Finished Review · ✅ Success · Started 11:37 AM UTC · Completed 11:51 AM UTC |
ifireball
left a comment
There was a problem hiding this comment.
I think doing this is a bit premature - lets get CEL triggers in place first, then we can base the GL workflows on those rahter then implement the same kind of fixed-role workflows we have in GH
Also it would be really nice to have #1982 in place and GL drivers for those tests so that Green CI == it really works.
9e26a35 to
5d8ae65
Compare
|
🤖 Finished Review · ✅ Success · Started 11:55 AM UTC · Completed 12:09 PM UTC |
5d8ae65 to
a4f953b
Compare
|
🤖 Finished Review · ✅ Success · Started 12:15 PM UTC · Completed 12:26 PM UTC |
|
🤖 Finished Review · ✅ Success · Started 10:01 PM UTC · Completed 10:21 PM UTC |
|
🤖 Finished Review · ✅ Success · Started 4:00 AM UTC · Completed 4:19 AM UTC |
|
🤖 Finished Review · ✅ Success · Started 4:27 AM UTC · Completed 4:45 AM UTC |
ifireball
left a comment
There was a problem hiding this comment.
Dropping R-C flag, I can't review all this RN and I don't see any BT prooving that this really works, so I just have to trust that it does.
|
🤖 Finished Review · ✅ Success · Started 6:05 AM UTC · Completed 6:21 AM UTC |
|
🤖 Finished Review · ✅ Success · Started 6:40 AM UTC · Completed 6:55 AM UTC |
|
🤖 Finished Review · ✅ Success · Started 7:02 AM UTC · Completed 7:20 AM UTC |
|
🤖 Finished Review · ✅ Success · Started 11:40 AM UTC · Completed 11:58 AM UTC |
|
🤖 Finished Review · ✅ Success · Started 12:04 PM UTC · Completed 12:21 PM UTC |
Signed-off-by: Greg Allen <gallen@redhat.com> Signed-off-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 12:27 PM UTC · Completed 12:47 PM UTC |
|
🤖 Finished Retro · ✅ Success · Started 1:10 PM UTC · Completed 1:32 PM UTC |
Retro: PR #3193 — GitLab CI/CD pipeline templatesTimeline: Opened Jul 6 by @ggallen (human-authored). @ifireball requested changes Jul 7 ("premature — get CEL triggers in place first"). PR paused 12 days. Revived Jul 19 with extensive rework. @waynesun09 conducted 6 rounds of multi-agent review squad analysis (Claude + Grok + Gemini) from Jul 20–22, surfacing 4 critical + 8 high + ~28 medium findings. @ifireball approved Jul 23 noting "I can't review all this RN and I don't see any BT proving that this really works." Merged Jul 23 after 17 days. Review agent performance: 52 review runs (35 success, 7 failure, 10 cancelled) across 52 unique commit SHAs from rapid amend+force-push iteration. The bot's final review found only 1 medium (protected-path) + 7 low findings — all low-severity noise. Meanwhile, @waynesun09's human-driven multi-model squad found critical platform-breaking issues the bot completely missed:
Root cause of review gap: The review agent's sub-agents (correctness, security, style, intent-coherence) are entirely platform-agnostic. None have GitLab CI-specific knowledge, and none cross-reference script tool dependencies against the container image Containerfile. The security sub-agent has hardcoded GHA-specific guidance (command injection, permissions scoping) but nothing equivalent for GitLab. The agent architecture has no extensibility point for domain-specific knowledge injection beyond what AGENTS.md/CLAUDE.md happen to contain. Review run failures (7/52): Three distinct failure modes: (1) Permission denied during sandbox cleanup — 4 runs failed with Evidence for existing issues:
Autonomy assessment: The review agent is not ready for increased autonomy on this class of change (new platform integration scaffolding). Its review was ineffective — zero of the 12 critical+high findings were detected. Human review was essential. The agent's approval should carry no weight for changes introducing CI/CD templates for new forge platforms until platform-specific review capabilities are added. Proposals filed
|
Summary
internal/scaffold/fullsend-repo-gitlab/with complete GitLab CI/CD pipeline templates for per-repo installationfullsend run <agent>with the same flags as GitHub'saction.yml— harness-resolved images via Podman/OpenShell, no hardcoded container imagesIS_FORKvariable from dispatch (fail-closed on deleted source projects)Related Issue
Part of GitLab forge support — ADR 0067 Phase 3.
Changes
internal/scaffold/fullsend-repo-gitlab/: Root pipeline, dispatch, poll, and 6 agent stage templatesinternal/scaffold/scaffold.go: New embed directive,GitLabPerRepoFile()andWalkGitLabPerRepo()functionsinternal/scaffold/scaffold_gitlab_test.go: Tests covering file existence, content validation, fork protection, credential validation,fullsend runflag correctness, and regression guardsdocs/plans/gitlab-cron-polling-implementation.md: Updated Phase 3 examples to match realfullsend runflagsAGENTS.md: Document GitLab dispatch template and NormalizedEvent usageDesign Notes
fullsend run <agent> --fullsend-dir .fullsend --target-repo . --forge gitlab ...— identical to whataction.ymldoes.fullsend runresolves the harness file, reads theimage:field, and creates the sandbox container via Podman.ghcr.io/fullsend-ai/fullsend-sandbox:latestas the CI runner image. The agent-specific sandbox image comes from the harness file at runtime.fullsend dispatch --input-driver jsonmechanical when built-in harness triggers land (feat(dispatch): port triage to harness CEL trigger #2896-2901)casecheck before the heredoc that generates child pipeline YAMLTesting
go test ./internal/scaffold/...passes (all GitLab + GitHub scaffold tests)make lintpasses🤖 Generated with Claude Code