From d66faaed54f04a987f58947d4ffe30487a00a18d Mon Sep 17 00:00:00 2001 From: Jay Rogov Date: Tue, 10 Feb 2026 18:23:51 +0100 Subject: [PATCH 1/3] deps: Update runtime and deps --- config/config.exs | 2 +- docker-compose.yml | 2 +- mix.exs | 32 +++++++++++++++++++++++++++----- mix.lock | 4 +++- 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/config/config.exs b/config/config.exs index 0d0917d..305c695 100644 --- a/config/config.exs +++ b/config/config.exs @@ -1,3 +1,3 @@ # This file is responsible for configuring your application # and its dependencies with the aid of the Mix.Config module. -use Mix.Config +import Config diff --git a/docker-compose.yml b/docker-compose.yml index c08741c..d0e7768 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,4 +8,4 @@ services: POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres ports: - - "10432:5432" + - "5432:5432" diff --git a/mix.exs b/mix.exs index fa4257d..6118f60 100644 --- a/mix.exs +++ b/mix.exs @@ -5,11 +5,10 @@ defmodule RecoverableStreamEx.MixProject do [ app: :recoverable_stream_ex, version: "1.0.0", - elixir: "~> 1.9", + elixir: "~> #{elixir_version()}", start_permanent: Mix.env() == :prod, deps: deps(), - - # Hex & Docs + aliases: aliases(), description: description(), package: package(), name: "RecoverableStreamEx", @@ -17,6 +16,9 @@ defmodule RecoverableStreamEx.MixProject do docs: [ main: "readme", extras: ["README.md"] + ], + preferred_cli_env: [ + check: :test ] ] end @@ -45,9 +47,29 @@ defmodule RecoverableStreamEx.MixProject do defp deps do [ - {:nimble_options, "~> 0.3"}, + {:nimble_options, "~> 1.0"}, {:postgrex, "~> 0.15.0", only: [:dev, :test], runtime: false}, - {:ex_doc, "~> 0.21", only: :dev, runtime: false} + {:ex_doc, "~> 0.21", only: :dev, runtime: false}, + {:excoveralls, "~> 0.18.5", only: [:test]} + ] + end + + defp aliases do + [ + check: [ + "compile --warnings-as-errors", + "format --check-formatted", + "test --warnings-as-errors" + ] ] end + + defp elixir_version do + ".tool-versions" + |> File.read!() + |> String.split("\n") + |> Enum.find(&String.starts_with?(&1, "elixir")) + |> String.split() + |> Enum.at(1) + end end diff --git a/mix.lock b/mix.lock index f791d5f..2929d3c 100644 --- a/mix.lock +++ b/mix.lock @@ -5,10 +5,12 @@ "earmark": {:hex, :earmark, "1.4.2", "3aa0bd23bc4c61cf2f1e5d752d1bb470560a6f8539974f767a38923bb20e1d7f", [:mix], [], "hexpm", "5e8806285d8a3a8999bd38e4a73c58d28534c856bc38c44818e5ba85bbda16fb"}, "earmark_parser": {:hex, :earmark_parser, "1.4.39", "424642f8335b05bb9eb611aa1564c148a8ee35c9c8a8bba6e129d51a3e3c6769", [:mix], [], "hexpm", "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"}, "ex_doc": {:hex, :ex_doc, "0.31.1", "8a2355ac42b1cc7b2379da9e40243f2670143721dd50748bf6c3b1184dae2089", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.1", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "3178c3a407c557d8343479e1ff117a96fd31bafe52a039079593fb0524ef61b0"}, + "excoveralls": {:hex, :excoveralls, "0.18.5", "e229d0a65982613332ec30f07940038fe451a2e5b29bce2a5022165f0c9b157e", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "523fe8a15603f86d64852aab2abe8ddbd78e68579c8525ae765facc5eae01562"}, + "jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"}, "makeup": {:hex, :makeup, "1.1.1", "fa0bc768698053b2b3869fa8a62616501ff9d11a562f3ce39580d60860c3a55e", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "5dc62fbdd0de44de194898b6710692490be74baa02d9d108bc29f007783b0b48"}, "makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.4", "29563475afa9b8a2add1b7a9c8fb68d06ca7737648f28398e04461f008b69521", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f4ed47ecda66de70dd817698a703f8816daa91272e7e45812469498614ae8b29"}, - "nimble_options": {:hex, :nimble_options, "0.5.2", "42703307b924880f8c08d97719da7472673391905f528259915782bb346e0a1b", [:mix], [], "hexpm", "4da7f904b915fd71db549bcdc25f8d56f378ef7ae07dc1d372cbe72ba950dce0"}, + "nimble_options": {:hex, :nimble_options, "1.1.1", "e3a492d54d85fc3fd7c5baf411d9d2852922f66e69476317787a7b2bb000a61b", [:mix], [], "hexpm", "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44"}, "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, "postgrex": {:hex, :postgrex, "0.15.13", "7794e697481799aee8982688c261901de493eb64451feee6ea58207d7266d54a", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "3ffb76e1a97cfefe5c6a95632a27ffb67f28871c9741fb585f9d1c3cd2af70f1"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, From cc4904f8e6a4345e40ff99f8c7a79bd05f4a21f1 Mon Sep 17 00:00:00 2001 From: Jay Rogov Date: Tue, 10 Feb 2026 18:24:59 +0100 Subject: [PATCH 2/3] chore: Add .tool-versions --- .tool-versions | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .tool-versions diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..e4c737a --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +elixir 1.18.2-otp-27 +erlang 27.2.1 From 7ff55d06842397619c1524b892053e4bf8240f72 Mon Sep 17 00:00:00 2001 From: Jay Rogov Date: Tue, 10 Feb 2026 18:25:12 +0100 Subject: [PATCH 3/3] ci: Remove 1.9 run --- .github/workflows/elixir.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index bca4f3a..7a8289c 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -4,12 +4,11 @@ on: push jobs: build: - runs-on: ubuntu-latest strategy: matrix: - elixir_vsn: ["1.9-slim", "slim"] + elixir_vsn: ["slim"] services: database: