diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py index 6fed37cd53ff..51cee3b7c517 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py @@ -74,7 +74,6 @@ class Flake: try: return run_wrapper( ["uname", "-n"], - check=True, capture_output=True, remote=target_host, ).stdout.strip() diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py index 5ba29216b580..f0c328cff4c0 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py @@ -36,7 +36,6 @@ def copy_closure( host.host, closure, ], - check=True, extra_env={"NIX_SSHOPTS": " ".join(host.opts)}, ) @@ -171,7 +170,6 @@ def get_generations( r = run_wrapper( ["nix-env", "-p", profile.path, "--list-generations"], stdout=PIPE, - check=True, remote=target_host, sudo=sudo, ) @@ -216,7 +214,6 @@ def list_generations(profile: Profile) -> list[GenerationJson]: configuration_revision = run_wrapper( [generation_path / "sw/bin/nixos-version", "--configuration-revision"], capture_output=True, - check=True, ).stdout.strip() except (CalledProcessError, IOError): configuration_revision = "Unknown" @@ -260,7 +257,7 @@ def nixos_build( else: run_args = ["nix-build", "", "--attr", attr] run_args += dict_to_flags(nix_flags) - r = run_wrapper(run_args, check=True, stdout=PIPE) + r = run_wrapper(run_args, stdout=PIPE) return Path(r.stdout.strip()) @@ -281,7 +278,7 @@ def nixos_build_flake( f"{flake}.config.system.build.{attr}", *dict_to_flags(flake_flags), ] - r = run_wrapper(run_args, check=True, stdout=PIPE) + r = run_wrapper(run_args, stdout=PIPE) return Path(r.stdout.strip()) @@ -289,7 +286,6 @@ def rollback(profile: Profile, target_host: Remote | None, sudo: bool) -> Path: "Rollback Nix profile, like one created by `nixos-rebuild switch`." run_wrapper( ["nix-env", "--rollback", "-p", profile.path], - check=True, remote=target_host, sudo=sudo, ) @@ -329,7 +325,6 @@ def set_profile( "Set a path as the current active Nix profile." run_wrapper( ["nix-env", "-p", profile.path, "--set", path_to_config], - check=True, remote=target_host, sudo=sudo, ) @@ -361,7 +356,6 @@ def switch_to_configuration( run_wrapper( [path_to_config / "bin/switch-to-configuration", str(action)], extra_env={"NIXOS_INSTALL_BOOTLOADER": "1" if install_bootloader else "0"}, - check=True, remote=target_host, sudo=sudo, ) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py index 2b23e88a2dbc..e53f46ff8626 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py @@ -8,13 +8,6 @@ from pathlib import Path from typing import Self, Sequence, TypedDict, Unpack -# Not exhaustive, but we can always extend it later. -class RunKwargs(TypedDict, total=False): - capture_output: bool - stderr: int | None - stdout: int | None - - @dataclass(frozen=True) class Remote: host: str @@ -46,6 +39,13 @@ class Remote: return None +# Not exhaustive, but we can always extend it later. +class RunKwargs(TypedDict, total=False): + capture_output: bool + stderr: int | None + stdout: int | None + + def cleanup_ssh(tmp_dir: Path) -> None: "Close SSH ControlMaster connection." for ctrl in tmp_dir.glob("ssh-*"): @@ -55,7 +55,7 @@ def cleanup_ssh(tmp_dir: Path) -> None: def run_wrapper( args: Sequence[str | bytes | os.PathLike[str] | os.PathLike[bytes]], *, - check: bool, # make it explicit so we always know if the code is handling errors + check: bool = True, extra_env: dict[str, str] | None = None, remote: Remote | None = None, sudo: bool = False, diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py index ac70bf00dfe8..8234f0ff98f9 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py @@ -22,7 +22,6 @@ def test_copy_closure(mock_run: Any) -> None: n.copy_closure(closure, target_host) mock_run.assert_called_with( ["nix-copy-closure", "--to", "user@host", closure], - check=True, extra_env={"NIX_SSHOPTS": "--ssh opt"}, ) @@ -220,7 +219,6 @@ def test_nixos_build_flake(mock_run: Any) -> None: "--nix-flag", "foo", ], - check=True, stdout=PIPE, ) @@ -234,28 +232,24 @@ def test_nixos_build(mock_run: Any, monkeypatch: Any) -> None: assert n.nixos_build("attr", None, None, nix_flag="foo") == Path("/path/to/file") mock_run.assert_called_with( ["nix-build", "", "--attr", "attr", "--nix-flag", "foo"], - check=True, stdout=PIPE, ) n.nixos_build("attr", "preAttr", "file") mock_run.assert_called_with( ["nix-build", "file", "--attr", "preAttr.attr"], - check=True, stdout=PIPE, ) n.nixos_build("attr", None, "file", no_out_link=True) mock_run.assert_called_with( ["nix-build", "file", "--attr", "attr", "--no-out-link"], - check=True, stdout=PIPE, ) n.nixos_build("attr", "preAttr", None, no_out_link=False, keep_going=True) mock_run.assert_called_with( ["nix-build", "default.nix", "--attr", "preAttr.attr", "--keep-going"], - check=True, stdout=PIPE, ) @@ -270,7 +264,6 @@ def test_rollback(mock_run: Any, tmp_path: Path) -> None: assert n.rollback(profile, None, False) == profile.path mock_run.assert_called_with( ["nix-env", "--rollback", "-p", path], - check=True, remote=None, sudo=False, ) @@ -279,7 +272,6 @@ def test_rollback(mock_run: Any, tmp_path: Path) -> None: assert n.rollback(profile, target_host, True) == profile.path mock_run.assert_called_with( ["nix-env", "--rollback", "-p", path], - check=True, remote=target_host, sudo=True, ) @@ -312,7 +304,6 @@ def test_rollback_temporary_profile(tmp_path: Path) -> None: "--list-generations", ], stdout=PIPE, - check=True, remote=None, sudo=False, ) @@ -330,7 +321,6 @@ def test_rollback_temporary_profile(tmp_path: Path) -> None: "--list-generations", ], stdout=PIPE, - check=True, remote=target_host, sudo=True, ) @@ -353,7 +343,6 @@ def test_set_profile(mock_run: Any) -> None: mock_run.assert_called_with( ["nix-env", "-p", profile_path, "--set", config_path], - check=True, remote=None, sudo=False, ) @@ -378,7 +367,6 @@ def test_switch_to_configuration(mock_run: Any, monkeypatch: Any) -> None: mock_run.assert_called_with( [profile_path / "bin/switch-to-configuration", "switch"], extra_env={"NIXOS_INSTALL_BOOTLOADER": "0"}, - check=True, sudo=False, remote=None, ) @@ -416,7 +404,6 @@ def test_switch_to_configuration(mock_run: Any, monkeypatch: Any) -> None: "test", ], extra_env={"NIXOS_INSTALL_BOOTLOADER": "1"}, - check=True, sudo=True, remote=target_host, )