-
Notifications
You must be signed in to change notification settings - Fork 277
Description
Objective
Fix buildCustomJobs() in pkg/workflow/compiler_jobs.go to extract the 7 schema-defined job fields that are currently silently dropped at compile time.
Context
From discussion #19383: The buildCustomJobs() function only extracts 8 of the 17 schema-defined job properties. Fields like name, timeout-minutes, env, container, services, and concurrency are accepted by the schema at parse time but silently discarded at compile time — users get no warning.
The Job struct in pkg/workflow/jobs.go already has fields for most of these, and the rendering code in jobs.go already handles them. They just need to be populated during extraction.
Approach
In pkg/workflow/compiler_jobs.go, inside buildCustomJobs() (around line 424), add extraction for each missing field:
name(DisplayName): Extract string fromconfigMap["name"]→job.DisplayNametimeout-minutes: Extract int fromconfigMap["timeout-minutes"]→job.TimeoutMinutesconcurrency: Extract string fromconfigMap["concurrency"]→job.Concurrencyenv: Extractmap[string]stringfromconfigMap["env"]→job.Envcontainer: Use YAML marshal onconfigMap["container"]to produce a YAML string →job.Containerservices: Use YAML marshal onconfigMap["services"]to produce a YAML string →job.Servicescontinue-on-error: Add newContinueOnError boolfield toJobstruct, extract bool fromconfigMap["continue-on-error"], add rendering injobs.go
Files to Modify
pkg/workflow/compiler_jobs.go— add field extraction inbuildCustomJobs()pkg/workflow/jobs.go— addContinueOnErrorfield toJobstruct and rendering logic
Acceptance Criteria
- All 7 missing fields are extracted and rendered in compiled YAML output
-
containerandservicesuse YAML marshaling consistent with top-level extraction pattern -
continue-on-error: truerenders correctly in compiled job YAML - Unit tests added/updated to verify each field is preserved through compilation
- Run
make agent-finishbefore committing
Generated by Plan Command for issue #discussion #19383 · ◷
- expires on Mar 5, 2026, 10:49 AM UTC