fix(ops-agent): redeploy_ops_dashboard — sync submodules before build #45

Merged
janpeter merged 1 commit from fix/ops-dashboard-flow-submodule-sync-max2 into master 2026-07-04 17:37:00 +02:00
Owner

Probleem

De Redeploy ops-dashboard (max2) deploy faalde in de Docker-build:

Module not found: Can't resolve '@s4m-kit/index'
  ./app/copilot/copilot-panel.tsx
  ./components/AppNav.tsx
  ./app/api/s4m/[...path]/route.ts
> Build failed because of webpack errors

Root cause

De copilot-integratie voegde een git-submodule vendor/scrum4me-copilot toe (met geneste vendor/scrum4me-shared). De path-alias @s4m-kit/*./vendor/scrum4me-copilot/kit/* (tsconfig + next.config webpack-alias). De flow deed git_fetchgit_reset_origin_main → build maar initialiseerde de submodule nooit → bij een verse checkout bleef vendor/ leeg → de webpack-build kon @s4m-kit niet resolven.

Fix

Een git_submodule_sync-stap toevoegen (git submodule update --init --recursive --force) git_reset_origin_main en vóór de build — identiek aan de redeploy_media_organizer-flow. Het command-key bestaat al (cwd_pattern: /srv/), dus geen commands.yml-wijziging. on_failure: abort omdat @s4m-kit een harde build-dependency is.

Geverifieerd

  • Submodule handmatig geïnitialiseerd in de live deploy-clone → Docker-build gedraaid → Image ops-dashboard:latest Built .

Discipline

Double-edit conform de ops-agent-host-config-discipline runbook: de live /etc/ops-agent/flows/redeploy_ops_dashboard.yml is identiek gepatcht (backup .bak.20260704-173414 ernaast). No self-merge — deze PR wacht op review.

## Probleem De `Redeploy ops-dashboard (max2)` deploy faalde in de Docker-build: ``` Module not found: Can't resolve '@s4m-kit/index' ./app/copilot/copilot-panel.tsx ./components/AppNav.tsx ./app/api/s4m/[...path]/route.ts > Build failed because of webpack errors ``` ## Root cause De copilot-integratie voegde een **git-submodule** `vendor/scrum4me-copilot` toe (met geneste `vendor/scrum4me-shared`). De path-alias `@s4m-kit/*` → `./vendor/scrum4me-copilot/kit/*` (tsconfig + next.config webpack-alias). De flow deed `git_fetch` → `git_reset_origin_main` → build maar **initialiseerde de submodule nooit** → bij een verse checkout bleef `vendor/` leeg → de webpack-build kon `@s4m-kit` niet resolven. ## Fix Een `git_submodule_sync`-stap toevoegen (`git submodule update --init --recursive --force`) **ná** `git_reset_origin_main` en **vóór** de build — identiek aan de `redeploy_media_organizer`-flow. Het command-key bestaat al (`cwd_pattern: /srv/`), dus **geen `commands.yml`-wijziging**. `on_failure: abort` omdat `@s4m-kit` een harde build-dependency is. ## Geverifieerd - Submodule handmatig geïnitialiseerd in de live deploy-clone → Docker-build gedraaid → **`Image ops-dashboard:latest Built`** ✅. ## Discipline Double-edit conform de `ops-agent-host-config-discipline` runbook: de live `/etc/ops-agent/flows/redeploy_ops_dashboard.yml` is identiek gepatcht (backup `.bak.20260704-173414` ernaast). **No self-merge** — deze PR wacht op review.
The copilot integration added a git submodule vendor/scrum4me-copilot
(and nested vendor/scrum4me-shared); the @s4m-kit/* path alias resolves to
vendor/scrum4me-copilot/kit/*. The redeploy_ops_dashboard flow did git_fetch +
git_reset_origin_main + build, but never initialised the submodule, so a fresh
checkout left vendor/ empty and the webpack build failed with
"Module not found: Can't resolve @s4m-kit/index".

Add a git_submodule_sync step (git submodule update --init --recursive --force)
after git_reset_origin_main and before the build, mirroring the
redeploy_media_organizer flow. Command key already exists (cwd_pattern /srv/),
so no commands.yml change. on_failure: abort because @s4m-kit is a hard build
dependency — no point building without it.

Double-edit per ops-agent host-config discipline: live
/etc/ops-agent/flows/redeploy_ops_dashboard.yml patched identically.
janpeter merged commit b9d36fd9b8 into master 2026-07-04 17:37:00 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/scrum4me-docker!45
No description provided.