Stalled S3 chunk downloads no longer crash build and xcresult processing workers. ExAws pulled each chunk through a 60-second async stream whose timeout exits the task instead of raising, and that exit escaped into Oban as a crash error. The storage layer now catches the exit and returns {:error, reason}, so S3 timeouts flow through the workers’ existing failure handling: the job is retried, and the build is marked failed_processing after the final attempt instead of failing the whole worker.
Hive
S3 download timeouts are now retried instead of crashing build jobs
Published
Jun 26, 2026 · 09:50 UTC
Repository
tuist/tuist