From bb79cfd9c5bc1fea9f06b3fcd2107a137034e6fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Thu, 26 Mar 2026 15:15:35 +0000 Subject: [PATCH 1/3] kernel-builder: support `upload` without `build.toml` --- kernel-builder/src/upload.rs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/kernel-builder/src/upload.rs b/kernel-builder/src/upload.rs index 89cb3d37..ff10b8d9 100644 --- a/kernel-builder/src/upload.rs +++ b/kernel-builder/src/upload.rs @@ -69,15 +69,23 @@ pub fn run_upload(args: UploadArgs) -> Result<()> { let kernel_dir = fs::canonicalize(&kernel_dir) .wrap_err_with(|| format!("Cannot resolve kernel directory `{}`", kernel_dir.display()))?; - let build = parse_build(&kernel_dir)?; let arg_repo_id = match args.repo_id { Some(id) => id, - None => build - .repo_id() - .ok_or_else(|| { - eyre::eyre!("No `general.hub.repo-id` in build.toml. Use --repo-id to specify it.") - })? - .to_owned(), + None => + // WARN: parsing must not be moved out op this branch, we want users + // to be able to upload without `build.toml` as long as they + // provide a repo id. + { + parse_build(&kernel_dir) + .context("--repo-id is not provided and cannot parse build.toml.")? + .repo_id() + .ok_or_else(|| { + eyre::eyre!( + "No `general.hub.repo-id` in build.toml. Use --repo-id to specify it." + ) + })? + .to_owned() + } }; let (build_dir, variants) = discover_variants(&kernel_dir)?; From 9a2865d452ccd236f167f93c26286fb2b7b37540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Thu, 26 Mar 2026 15:16:03 +0000 Subject: [PATCH 2/3] nix-builder: use `kernel-builder upload` --- nix-builder/lib/gen-flake-outputs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix-builder/lib/gen-flake-outputs.nix b/nix-builder/lib/gen-flake-outputs.nix index fe72d20e..ba0fbd76 100644 --- a/nix-builder/lib/gen-flake-outputs.nix +++ b/nix-builder/lib/gen-flake-outputs.nix @@ -223,7 +223,7 @@ in # However, we do not want this command to error out in that case, so # only insert the upload command when there is something to upload. uploadStr = lib.optionalString (applicableBuildSets != [ ]) '' - ${pkgs.python3.pkgs.kernels}/bin/kernels upload --repo-id ${repo_id} ${branchOpt} ${bundle} + ${pkgs.kernel-builder}/bin/kernel-builder upload --repo-id ${repo_id} ${branchOpt} ${bundle} ''; in writeScriptBin "build-and-upload" '' From 6607c8a0bbef3bfa45011943be9bc61016e4d7af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Thu, 26 Mar 2026 16:41:09 +0100 Subject: [PATCH 3/3] Fix typo Co-authored-by: Sayak Paul --- kernel-builder/src/upload.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel-builder/src/upload.rs b/kernel-builder/src/upload.rs index ff10b8d9..adc02c0b 100644 --- a/kernel-builder/src/upload.rs +++ b/kernel-builder/src/upload.rs @@ -72,7 +72,7 @@ pub fn run_upload(args: UploadArgs) -> Result<()> { let arg_repo_id = match args.repo_id { Some(id) => id, None => - // WARN: parsing must not be moved out op this branch, we want users + // WARN: parsing must not be moved out of this branch, we want users // to be able to upload without `build.toml` as long as they // provide a repo id. {