diff --git a/orchestrator/dispatch/main.go b/orchestrator/dispatch/main.go index 20c5115..4e3b11e 100644 --- a/orchestrator/dispatch/main.go +++ b/orchestrator/dispatch/main.go @@ -302,7 +302,13 @@ func startSpotRunner(ctx context.Context, c cfg, label, runID string) (string, e return "", fmt.Errorf("unknown label: %s", label) } - runnerName := fmt.Sprintf("spot-%s-%s", label, runID[:12]) + // runID = "--" already encodes everything unique. + // The old runID[:12] truncation collapsed every deploy of a commit to the + // same name (e.g. deploy-arikigame + release on one push), confusing task + // routing and same-commit reruns. Use the full runID, sanitised for the + // runner-name charset (no dots/slashes from workflow filenames). + safeID := strings.NewReplacer(".", "-", "/", "-").Replace(runID) + runnerName := fmt.Sprintf("spot-%s-%s", label, safeID) userData := userDataScript(c, label, runnerName) client := ec2.NewFromConfig(awsCfg)