From 702f7d9dedd4eabffa17a8db6f2de1649b18a198 Mon Sep 17 00:00:00 2001
From: George <hi@gmiles.dev>
Date: Sat, 7 Dec 2024 02:26:18 +0000
Subject: [PATCH] fix: Improve CI job handling. (#1747)

* fix(cli): CI command prints job index for job total line

* fix(cli): CI command unevenly weighs targets for last job index

* chore: bump versions
---
 .yarn/versions/15d6e39f.yml   | 9 +++++++++
 crates/app/src/commands/ci.rs | 4 ++--
 2 files changed, 11 insertions(+), 2 deletions(-)
 create mode 100644 .yarn/versions/15d6e39f.yml

diff --git a/.yarn/versions/15d6e39f.yml b/.yarn/versions/15d6e39f.yml
new file mode 100644
index 00000000000..1f2a5d9c201
--- /dev/null
+++ b/.yarn/versions/15d6e39f.yml
@@ -0,0 +1,9 @@
+releases:
+  "@moonrepo/cli": patch
+  "@moonrepo/core-linux-arm64-gnu": patch
+  "@moonrepo/core-linux-arm64-musl": patch
+  "@moonrepo/core-linux-x64-gnu": patch
+  "@moonrepo/core-linux-x64-musl": patch
+  "@moonrepo/core-macos-arm64": patch
+  "@moonrepo/core-macos-x64": patch
+  "@moonrepo/core-windows-x64-msvc": patch
diff --git a/crates/app/src/commands/ci.rs b/crates/app/src/commands/ci.rs
index 8c9e82977de..297bde9508e 100644
--- a/crates/app/src/commands/ci.rs
+++ b/crates/app/src/commands/ci.rs
@@ -175,12 +175,12 @@ fn distribute_targets_across_jobs(
 
     let job_index = args.job.unwrap_or_default();
     let job_total = args.job_total.unwrap_or_default();
-    let batch_size = targets.len() / job_total;
+    let batch_size = (targets.len() + job_total - 1) / job_total;
     let batched_targets;
 
     console.print_header("Distributing targets across jobs")?;
     console.write_line(format!("Job index: {job_index}"))?;
-    console.write_line(format!("Job total: {job_index}"))?;
+    console.write_line(format!("Job total: {job_total}"))?;
     console.write_line(format!("Batch size: {batch_size}"))?;
     console.write_line("Batched targets:")?;