Split the workflow into separate check_version and build jobs using the needs keyword for job dependencies. This improves separation of concerns and makes the workflow structure more explicit. Key changes: - Created check_version job that outputs version_changed and version - Build job now depends on check_version using needs keyword - Build job uses version from check_version output (no re-reading) - Added fetch-depth: 0 to ensure full git history for comparison - Removed duplicate version reading step from build job - Build conditional now uses needs.check_version.outputs.version_changed Benefits: - Clear separation between version checking and build logic - Version is determined once and reused across jobs - Better observability with separate job statuses in UI - Enables potential reuse of version outputs by other jobs Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>