Documentation
¶
Index ¶
- func App(config AppConfig) error
- func HandleBindBuildJob(c echo.Context) error
- func HandleGetArtifacts(c echo.Context) error
- func HandleGetBuild(c echo.Context) error
- func HandleGetBuildLogs(c echo.Context) error
- func HandleQueueBuild(c echo.Context) error
- func HandleUpdateJobStatus(c echo.Context) error
- func HandleUploadArtifact(c echo.Context) error
- func HandleWriteBuildLogs(c echo.Context) error
- type AppConfig
- type BuildResponse
- type StatusUpdateRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleBindBuildJob ¶ added in v0.7.2
func HandleBindBuildJob(c echo.Context) error
@Summary Bind a queued build job to a worker @Description Allows a worker to claim a queued job @Tags builds @Accept json @Produce json @Param worker_id query string true "Worker ID" @Success 200 {object} object{job_id=string,job=jobstorage.BuildJob} "Job ID and job details" @Failure 400 {object} map[string]string @Failure 404 {object} map[string]string @Failure 500 {object} map[string]string @Router /builds/bind [get]
func HandleGetArtifacts ¶ added in v0.7.2
func HandleGetArtifacts(c echo.Context) error
@Summary List build artifacts @Description Returns the list of artifacts for a job @Tags builds @Accept json @Produce json @Param job_id path string true "Job ID" @Success 200 {array} object{name=string,url=string} "List of artifacts with friendly names and URLs" @Failure 404 {object} map[string]string @Failure 500 {object} map[string]string @Router /builds/{job_id}/artifacts [get]
func HandleGetBuild ¶ added in v0.7.2
func HandleGetBuild(c echo.Context) error
@Summary Get build job details @Description Returns a job by ID @Tags builds @Accept json @Produce json @Param job_id path string true "Job ID" @Success 200 {object} jobstorage.BuildJob @Failure 404 {object} map[string]string @Failure 500 {object} map[string]string @Router /builds/{job_id} [get]
func HandleGetBuildLogs ¶ added in v0.7.2
func HandleGetBuildLogs(c echo.Context) error
@Summary Get build logs @Description Returns the build logs for a job via WebSocket connection @Tags builds @Accept json @Produce json @Param job_id path string true "Job ID" @Success 101 {string} string "Switching to WebSocket protocol" @Failure 404 {object} map[string]string @Failure 500 {object} map[string]string @Router /builds/{job_id}/logs [get]
func HandleQueueBuild ¶ added in v0.7.2
func HandleQueueBuild(c echo.Context) error
@Summary Queue a new build job @Description Creates a new build job and adds it to the queue @Tags builds @Accept json @Produce json @Param job body jobstorage.JobData true "Build job data" @Success 200 {object} BuildResponse @Failure 400 {object} map[string]string @Failure 500 {object} map[string]string @Router /builds [post]
func HandleUpdateJobStatus ¶ added in v0.7.2
func HandleUpdateJobStatus(c echo.Context) error
@Summary Update build job status @Description Allows a worker to update the status of their assigned job @Tags builds @Accept json @Produce json @Param job_id path string true "Job ID" @Param worker_id query string true "Worker ID" @Param status body web.StatusUpdateRequest true "Status update" @Success 200 {object} jobstorage.BuildJob @Failure 400 {object} map[string]string @Failure 403 {object} map[string]string @Failure 404 {object} map[string]string @Failure 500 {object} map[string]string @Router /builds/{job_id}/status [put]
func HandleUploadArtifact ¶ added in v0.7.2
func HandleUploadArtifact(c echo.Context) error
@Summary Upload build artifact @Description Handles uploading build artifacts from workers @Tags builds @Accept multipart/form-data @Produce json @Param job_id path string true "Job ID" @Param worker_id query string true "Worker ID" @Param filename path string true "Artifact filename" @Param file formData file true "Artifact file" @Success 200 {object} map[string]string @Failure 400 {object} map[string]string @Failure 403 {object} map[string]string @Failure 404 {object} map[string]string @Failure 500 {object} map[string]string @Router /builds/{job_id}/artifacts/{filename} [post]
func HandleWriteBuildLogs ¶ added in v0.7.2
func HandleWriteBuildLogs(c echo.Context) error
@Summary Write build logs @Description Handles streaming logs for a job via WebSocket connection @Tags builds @Accept json @Produce json @Param job_id path string true "Job ID" @Param worker_id query string true "Worker ID" @Success 101 {string} string "Switching to WebSocket protocol" @Failure 400 {object} map[string]string @Failure 403 {object} map[string]string @Failure 404 {object} map[string]string @Failure 500 {object} map[string]string @Router /builds/{job_id}/logs/write [get]
Types ¶
type BuildResponse ¶ added in v0.7.2
type BuildResponse struct {
UUID string `json:"uuid"`
}
type StatusUpdateRequest ¶ added in v0.7.2
type StatusUpdateRequest struct {
Status jobstorage.JobStatus `json:"status" example:"running"`
}
StatusUpdateRequest represents a request to update the status of a job @Description Request body for updating job status @Example {"status": "running"}