Driver build and release component interactions
flowchart LR Matrix[customers.json] --> Fanout[release-all-customers] Manual[Manual dispatch] --> Release[release-driver] Fanout --> Release Release --> Resolve[Resolve niseCore / WBF / include SHAs] Resolve --> Change{Relevant SHA changed?} Change -->|yes| Build[build-driver reusable workflow] Build --> Action[Build action at pinned automation ref] Action --> Source[Checkout selected source refs] Source --> Compile[EWDK compile + package] Compile --> Validate[Tests / package validation] Validate --> Sign[Signing service] Sign --> Artifact[Build artifact] Artifact --> GHRelease[GitHub release] GHRelease --> History[Release-history record] Fanout --> Reconcile[Reconcile missing history rows] Reconcile --> History
The arrows show dependency or runtime/control flow supported by the source structure and entrypoints at 5710513f9834. Dotted arrows mean configuration or validation rather than a runtime call.
Interaction contracts
| From/to | Contract |
|---|---|
| Customer matrix | Selects customer project, niseCore/WBF/include refs, EWDK, method and target. |
| Build workflow | Dispatches the reusable build action with explicit inputs and protected secrets. |
| Release workflow | Resolves exact SHAs, detects changes, builds, caches, packages, releases and records evidence. |
| All-customer orchestrator | Fans out one release per matrix row and reconciles missing release-history updates. |
| Signing/publishing | Supports package signing and publication paths; secret material must remain external. |
| Validation | Provides accuracy, HLK and security/compliance pipeline assets. |
| Legacy/Jenkins pipelines | Retains legacy build/deploy flows alongside GitHub Actions. |
| Tuning/tools | Provides tuning, scoring, collection and analysis tooling outside the core driver build. |