Deployment and lifecycle management for Nix
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

nix: record system in eval, rename stderr to log in build

+7 -16
+3 -4
apps/nix/lib/nix/build.ex
··· 18 18 field :start_time, DateTime.t() 19 19 field :end_time, DateTime.t() 20 20 field :status, :ok | :error | :timeout 21 - field :errors, list(binary()), default: [] 21 + field :log, list(binary()), default: [] 22 22 end 23 23 24 24 typedstruct module: Exec do ··· 130 130 131 131 build = %{ 132 132 state.build 133 - | errors: finalize_output(state.stderr), 133 + | log: if(length(state.stderr) == 0, do: nil, else: finalize_output(state.stderr)), 134 134 end_time: end_time, 135 135 status: status, 136 136 store_path: if(store_path != "", do: store_path, else: nil) ··· 161 161 defp finalize_output(output) when is_list(output) do 162 162 output 163 163 |> Enum.reverse() 164 - |> Enum.join() 165 - |> String.split("\n", trim: true) 164 + |> Enum.join("\n") 166 165 end 167 166 168 167 defp finalize_output(output), do: output
+1 -1
apps/nix/lib/nix/build/jobs.ex
··· 144 144 defp build_from_crash(reason) do 145 145 %Build{ 146 146 status: :error, 147 - errors: [format_crash_reason(reason)], 147 + log: [format_crash_reason(reason)], 148 148 start_time: DateTime.utc_now(), 149 149 end_time: DateTime.utc_now() 150 150 }
+1 -1
apps/nix/lib/nix/eval.ex
··· 69 69 null 70 70 else 71 71 if (x.type or null == "derivation") then 72 - { drvPath = x.drvPath; storePath = x.outPath; meta = x.meta or {}; } 72 + { drvPath = x.drvPath; storePath = x.outPath; meta = x.meta or {}; system = x.system; } 73 73 else 74 74 builtins.attrNames x 75 75 """
+2 -4
apps/nix/test/nix/build_test.exs
··· 32 32 assert status == :error 33 33 assert build.status == :error 34 34 assert build.store_path == nil 35 - assert is_list(build.errors) 36 - assert length(build.errors) > 0 37 - assert Enum.any?(build.errors, &String.contains?(&1, "error")) 38 - assert Enum.any?(build.errors, &String.contains?(&1, "No such file or directory")) 35 + assert String.contains?(build.log, "error") 36 + assert String.contains?(build.log, "No such file or directory") 39 37 end) 40 38 end 41 39 end
-1
apps/sower_agent/test/sower_agent_test.exs
··· 1 1 defmodule SowerAgentTest do 2 2 use ExUnit.Case 3 - doctest SowerAgent 4 3 end
-5
apps/sower_cli/test/sower_cli_test.exs
··· 1 1 defmodule SowerCliTest do 2 2 use ExUnit.Case 3 - doctest SowerCli 4 - 5 - test "greets the world" do 6 - assert SowerCli.hello() == :world 7 - end 8 3 end