Fix broken test
Some checks failed
/ setup (push) Has been cancelled

This commit is contained in:
Stuart Axelbrooke 2025-07-08 23:09:01 -07:00
parent a734c3c74b
commit 5bfe885140
4 changed files with 22 additions and 22 deletions

View file

@ -77,17 +77,17 @@ pub async fn submit_build_request(
#[derive(Deserialize, JsonSchema)]
pub struct BuildStatusRequest {
pub id: String,
pub build_request_id: String,
}
pub async fn get_build_status(
State(service): State<ServiceState>,
Path(request): Path<BuildStatusRequest>,
Path(BuildStatusRequest { build_request_id }): Path<BuildStatusRequest>,
) -> Result<Json<BuildStatusResponse>, (StatusCode, Json<ErrorResponse>)> {
// Get build request state
let build_state = {
let active_builds = service.active_builds.read().await;
active_builds.get(&request.id).cloned()
active_builds.get(&build_request_id).cloned()
};
let build_state = match build_state {
@ -103,7 +103,7 @@ pub async fn get_build_status(
};
// Get events for this build request
let events = match service.event_log.get_build_request_events(&request.id, None).await {
let events = match service.event_log.get_build_request_events(&build_request_id, None).await {
Ok(events) => events.into_iter().map(|e| BuildEventSummary {
event_id: e.event_id,
timestamp: e.timestamp,
@ -117,7 +117,7 @@ pub async fn get_build_status(
};
Ok(Json(BuildStatusResponse {
build_request_id: request.id,
build_request_id,
status: BuildGraphService::status_to_string(build_state.status),
requested_partitions: build_state.requested_partitions,
created_at: build_state.created_at,
@ -128,17 +128,17 @@ pub async fn get_build_status(
#[derive(Deserialize, JsonSchema)]
pub struct CancelBuildRequest {
pub id: String,
pub build_request_id: String,
}
pub async fn cancel_build_request(
State(service): State<ServiceState>,
Path(request): Path<CancelBuildRequest>,
Path(CancelBuildRequest { build_request_id }): Path<CancelBuildRequest>,
) -> Result<Json<serde_json::Value>, (StatusCode, Json<ErrorResponse>)> {
// Update build request state
{
let mut active_builds = service.active_builds.write().await;
if let Some(build_state) = active_builds.get_mut(&request.id) {
if let Some(build_state) = active_builds.get_mut(&build_request_id) {
build_state.status = BuildRequestStatus::BuildRequestCancelled;
build_state.updated_at = current_timestamp_nanos();
} else {
@ -153,7 +153,7 @@ pub async fn cancel_build_request(
// Log cancellation event
let event = create_build_event(
request.id.clone(),
build_request_id.clone(),
crate::build_event::EventType::BuildRequestEvent(BuildRequestEvent {
status: BuildRequestStatus::BuildRequestCancelled as i32,
requested_partitions: vec![],
@ -165,11 +165,11 @@ pub async fn cancel_build_request(
error!("Failed to log build request cancelled event: {}", e);
}
info!("Build request {} cancelled", request.id);
info!("Build request {} cancelled", build_request_id);
Ok(Json(serde_json::json!({
"cancelled": true,
"build_request_id": request.id
"build_request_id": build_request_id
})))
}

View file

@ -2,7 +2,7 @@ use crate::*;
use crate::event_log::{BuildEventLog, BuildEventLogError, create_build_event_log};
use aide::{
axum::{
routing::{get, get_with, post, delete},
routing::{get, post, delete},
ApiRouter,
},
openapi::OpenApi,
@ -119,10 +119,10 @@ impl BuildGraphService {
// Create API router with all routes to generate OpenAPI spec
let _ = ApiRouter::new()
.api_route("/api/v1/builds", post(handlers::submit_build_request))
.api_route("/api/v1/builds/{id}", get(handlers::get_build_status))
.api_route("/api/v1/builds/{id}", delete(handlers::cancel_build_request))
.api_route("/api/v1/partitions/{ref}/status", get(handlers::get_partition_status))
.api_route("/api/v1/partitions/{ref}/events", get(handlers::get_partition_events))
.api_route("/api/v1/builds/:build_request_id", get(handlers::get_build_status))
.api_route("/api/v1/builds/:build_request_id", delete(handlers::cancel_build_request))
.api_route("/api/v1/partitions/:ref/status", get(handlers::get_partition_status))
.api_route("/api/v1/partitions/:ref/events", get(handlers::get_partition_events))
.api_route("/api/v1/analyze", post(handlers::analyze_build_graph))
.finish_api(&mut api);
@ -134,10 +134,10 @@ impl BuildGraphService {
let router = ApiRouter::new()
.api_route("/api/v1/builds", post(handlers::submit_build_request))
.api_route("/api/v1/builds/{id}", get(handlers::get_build_status))
.api_route("/api/v1/builds/{id}", delete(handlers::cancel_build_request))
.api_route("/api/v1/partitions/{ref}/status", get(handlers::get_partition_status))
.api_route("/api/v1/partitions/{ref}/events", get(handlers::get_partition_events))
.api_route("/api/v1/builds/:build_request_id", get(handlers::get_build_status))
.api_route("/api/v1/builds/:build_request_id", delete(handlers::cancel_build_request))
.api_route("/api/v1/partitions/:ref/status", get(handlers::get_partition_status))
.api_route("/api/v1/partitions/:ref/events", get(handlers::get_partition_events))
.api_route("/api/v1/analyze", post(handlers::analyze_build_graph))
.route("/api/v1/openapi.json", get(Self::openapi_spec))
.with_state(Arc::new(self))

View file

@ -96,7 +96,7 @@ for i in {1..60}; do
;;
*)
echo "[WARN] Unknown status: $STATUS"
sleep 2
exit 1
;;
esac

View file

@ -98,7 +98,7 @@ for i in {1..30}; do
;;
*)
echo "[WARN] Unknown status: $STATUS"
sleep 2
exit 1
;;
esac