generated from camaraproject/Template_API_Repository
-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
BacklogImplementation not considered short-term, long-term evolution issueImplementation not considered short-term, long-term evolution issueenhancementNew feature or requestNew feature or requestrelease automationRelated to the implementation or introduction of new release automationRelated to the implementation or introduction of new release automation
Description
Problem description
The release automation reusable workflow currently has 17 jobs in the reusable workflow (19 including caller-level). Several are lightweight (2-6s compute each) but each requires its own runner startup (~3s gap). The high job count makes the workflow harder to understand, trace, and maintain:
- Data flow requires tracing across many
needs:references and explicit output passing - GitHub Actions UI shows a long list of jobs (most skipped per run)
- The job dependency diagram requires significant effort to keep readable
Proposed change
Combine 4 lightweight jobs into their natural parent jobs:
- assemble-context → derive-state: Pure post-processing of derive-state outputs; shares the same tooling checkout and Python setup
- validate-command → derive-state: Single
github-scriptstep (~20 lines); no separate setup needed - create-sync-pr → publish-release: Only runs on publish success; shares tooling checkout and Python; natural step-level condition
This reduces the reusable workflow from 17 to 13 jobs with no logic changes — purely mechanical refactoring.
Impact
| Path | Jobs before | Jobs after | Time saved |
|---|---|---|---|
| /create-snapshot | 5 | 3 | ~9s |
| PR merge | 5 | 4 | ~3s |
| /publish-release | 6 | 3 | ~12s |
Primary benefit is architectural clarity (simpler needs: graphs, less output plumbing, cleaner Actions UI). Latency savings are modest but measurable (~3s per eliminated job boundary, based on 47 runs on ReleaseTest).
Additional context
- No functional changes — all consolidations are mechanical (move steps, update
needs:references, rewire outputs) - Detailed analysis with measured timings available in the technical documentation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
BacklogImplementation not considered short-term, long-term evolution issueImplementation not considered short-term, long-term evolution issueenhancementNew feature or requestNew feature or requestrelease automationRelated to the implementation or introduction of new release automationRelated to the implementation or introduction of new release automation