diff --git a/lib/elixir_bench/benchmarks/job.ex b/lib/elixir_bench/benchmarks/job.ex index bb32e3c..a7542d6 100644 --- a/lib/elixir_bench/benchmarks/job.ex +++ b/lib/elixir_bench/benchmarks/job.ex @@ -15,6 +15,7 @@ defmodule ElixirBench.Benchmarks.Job do field :claimed_at, :utc_datetime field :completed_at, :utc_datetime field :log, :string + field :exit_status, :integer field :branch_name, :string field :commit_message, :string @@ -41,7 +42,8 @@ defmodule ElixirBench.Benchmarks.Job do :cpu_count, # TODO: change to a string memory # :memory_mb, - :log + :log, + :exit_status ] @create_fields [ diff --git a/lib/elixir_bench_web/schema/content_types.ex b/lib/elixir_bench_web/schema/content_types.ex index 46cac84..fc2f4f0 100644 --- a/lib/elixir_bench_web/schema/content_types.ex +++ b/lib/elixir_bench_web/schema/content_types.ex @@ -35,6 +35,7 @@ defmodule ElixirBenchWeb.Schema.ContentTypes do field :claimed_at, :datetime field :completed_at, :datetime field :log, :string + field :exit_status, :integer field :repo_slug, :string do resolve(fn %{repo_id: repo_id}, _, %{context: %{loader: loader}} -> diff --git a/priv/repo/migrations/20180809140205_add_exit_status_to_job.exs b/priv/repo/migrations/20180809140205_add_exit_status_to_job.exs new file mode 100644 index 0000000..0db372c --- /dev/null +++ b/priv/repo/migrations/20180809140205_add_exit_status_to_job.exs @@ -0,0 +1,9 @@ +defmodule ElixirBench.Repo.Migrations.AddExitStatusToJob do + use Ecto.Migration + + def change do + alter table(:jobs) do + add :exit_status, :integer, default: nil + end + end +end diff --git a/priv/repo/seeds.exs b/priv/repo/seeds.exs index 66c1485..bfe12d3 100644 --- a/priv/repo/seeds.exs +++ b/priv/repo/seeds.exs @@ -17,6 +17,7 @@ data = %{ "log" => """ [now] Oh how ward it was to run this benchmark! """, + "exit_status" => 0, "measurements" => %{ "insert_mysql/insert_plain" => %{ "average" => 393.560253365004, diff --git a/test/elixir_bench_web/schema/schema_test.exs b/test/elixir_bench_web/schema/schema_test.exs index 42e7418..8eac384 100644 --- a/test/elixir_bench_web/schema/schema_test.exs +++ b/test/elixir_bench_web/schema/schema_test.exs @@ -394,18 +394,20 @@ defmodule ElixirBenchWeb.SchemaTest do describe "job query" do test "fetch job by id", context do - job = insert(:job) + job = insert(:job, %{exit_status: 1}) query = """ job (id: "#{job.id}") { - id + id, + exit_status } """ json_data = %{ "data" => %{ "job" => %{ - "id" => "#{job.id}" + "id" => "#{job.id}", + "exit_status" => 1 } } } diff --git a/test/support/factory/elixir_bench_factory.ex b/test/support/factory/elixir_bench_factory.ex index ab019b1..3a23f0b 100644 --- a/test/support/factory/elixir_bench_factory.ex +++ b/test/support/factory/elixir_bench_factory.ex @@ -106,6 +106,7 @@ defmodule ElixirBench.Factory do "log" => """ [now] Oh how ward it was to run this benchmark! """, + "exit_status" => 0, "measurements" => %{ "insert_mysql/insert_plain" => %{ "average" => 393.560253365004,