implemented 04-build-executor.md incl. concurrency amendment: async builds in per-branch worktrees, builds.maxConcurrent, cancellation, live logs; fix .gitignore build/ rule that silently excluded the de.hoennig.gittally.build package (also recovers the step-01 domain files)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
ae3ae7aa04
commit
b379bc0a6b
@@ -0,0 +1,21 @@
|
||||
package de.hoennig.gittally.build
|
||||
|
||||
import java.nio.file.Path
|
||||
import java.time.Instant
|
||||
|
||||
/** Handle to a build accepted by the [BuildExecutor]; log paths become valid once the build runs. */
|
||||
data class RunningBuild(
|
||||
val branch: String,
|
||||
val commit: String,
|
||||
val artifactKey: String,
|
||||
val startedAt: Instant,
|
||||
/** Working directory for build output; handed to the [ArtifactStore] when the build ends. */
|
||||
val stagingDir: Path,
|
||||
/** Combined stdout+stderr log, written live while the build runs. */
|
||||
val liveLogFile: Path,
|
||||
)
|
||||
|
||||
/** Published via Spring's `ApplicationEventPublisher` on every persisted status transition. */
|
||||
data class BuildStatusChangedEvent(
|
||||
val result: BuildResult,
|
||||
)
|
||||
Reference in New Issue
Block a user