From d6b706bf71c37d5529f58c1ce509ae1292f21906 Mon Sep 17 00:00:00 2001 From: Angelika Cathor Date: Tue, 21 Oct 2025 17:52:09 +0200 Subject: [PATCH 01/10] Update to Elixir 1.19 --- .github/workflows/elixir_test.yml | 4 ++-- .github/workflows/elixir_test_external.yml | 2 +- .tool-versions | 4 ++-- Dockerfile | 4 ++-- elixir | 2 +- mix.exs | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/elixir_test.yml b/.github/workflows/elixir_test.yml index 4767cfd2..a1dbfa6d 100644 --- a/.github/workflows/elixir_test.yml +++ b/.github/workflows/elixir_test.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-24.04 container: - image: hexpm/elixir:1.18.1-erlang-27.2-debian-bookworm-20241223 + image: hexpm/elixir:1.19.0-erlang-28.1-debian-bookworm-20251020 steps: - name: Install git @@ -53,7 +53,7 @@ jobs: id: plt-cache with: path: priv/plts - key: elixir:1.18.1-erlang-27.2-debian-bookworm-20241223-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}-v3 + key: elixir:1.19.0-erlang-28.1-debian-bookworm-20251020-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}-v3 - name: Create PLTs if: steps.plt-cache.outputs.cache-hit != 'true' diff --git a/.github/workflows/elixir_test_external.yml b/.github/workflows/elixir_test_external.yml index 651c6943..08e9c354 100644 --- a/.github/workflows/elixir_test_external.yml +++ b/.github/workflows/elixir_test_external.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-24.04 container: - image: hexpm/elixir:1.18.1-erlang-27.2-debian-bookworm-20241223 + image: hexpm/elixir:1.19.0-erlang-28.1-debian-bookworm-20251020 steps: - name: Install git diff --git a/.tool-versions b/.tool-versions index 2254cc0d..0c842a11 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -elixir 1.18.1-otp-27 -erlang 27.2 +elixir 1.19.0-otp-28 +erlang 28.1 diff --git a/Dockerfile b/Dockerfile index ce211bb4..047764e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM hexpm/elixir:1.18.1-erlang-27.2-debian-bookworm-20241223 as builder +FROM hexpm/elixir:1.19.0-erlang-28.1-debian-bookworm-20251020 as builder RUN apt-get update && \ apt-get install bash -y @@ -13,7 +13,7 @@ COPY . . # Builds an escript bin/elixir_analyzer RUN ./bin/build.sh -FROM hexpm/elixir:1.18.1-erlang-27.2-debian-bookworm-20241223 +FROM hexpm/elixir:1.19.0-erlang-28.1-debian-bookworm-20251020 COPY --from=builder /etc/passwd /etc/passwd COPY --from=builder /elixir-analyzer/bin /opt/analyzer/bin diff --git a/elixir b/elixir index 006c2d5a..ecadf585 160000 --- a/elixir +++ b/elixir @@ -1 +1 @@ -Subproject commit 006c2d5ab5e21d1e3a6bbe6fcc99d657d2c7d4c7 +Subproject commit ecadf58547fe3a9a93ff8506018a15529c9c4f40 diff --git a/mix.exs b/mix.exs index a5a6ab6a..0e7def3d 100644 --- a/mix.exs +++ b/mix.exs @@ -5,7 +5,7 @@ defmodule ElixirAnalyzer.MixProject do [ app: :elixir_analyzer, version: "0.1.0", - elixir: "~> 1.18", + elixir: "~> 1.19", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, # Turn off protocol consolidation to avoid warning in analyzed code From 8339bba16015effdea9e7f09a566aa5b248bc0d4 Mon Sep 17 00:00:00 2001 From: Angelika Cathor Date: Tue, 21 Oct 2025 18:05:50 +0200 Subject: [PATCH 02/10] Upgrade credo --- mix.exs | 2 +- mix.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mix.exs b/mix.exs index 0e7def3d..93658f34 100644 --- a/mix.exs +++ b/mix.exs @@ -47,7 +47,7 @@ defmodule ElixirAnalyzer.MixProject do defp deps do [ {:jason, "~> 1.2"}, - {:credo, "~> 1.6", only: [:dev, :test], runtime: false}, + {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false}, {:excoveralls, "~> 0.14", only: :test} ] diff --git a/mix.lock b/mix.lock index d576b30f..70755703 100644 --- a/mix.lock +++ b/mix.lock @@ -1,11 +1,11 @@ %{ "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, "certifi": {:hex, :certifi, "2.8.0", "d4fb0a6bb20b7c9c3643e22507e42f356ac090a1dcea9ab99e27e0376d695eba", [:rebar3], [], "hexpm", "6ac7efc1c6f8600b08d625292d4bbf584e14847ce1b6b5c44d983d273e1097ea"}, - "credo": {:hex, :credo, "1.7.10", "6e64fe59be8da5e30a1b96273b247b5cf1cc9e336b5fd66302a64b25749ad44d", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "71fbc9a6b8be21d993deca85bf151df023a3097b01e09a2809d460348561d8cd"}, + "credo": {:hex, :credo, "1.7.13", "126a0697df6b7b71cd18c81bc92335297839a806b6f62b61d417500d1070ff4e", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "47641e6d2bbff1e241e87695b29f617f1a8f912adea34296fb10ecc3d7e9e84f"}, "dialyxir": {:hex, :dialyxir, "1.4.5", "ca1571ac18e0f88d4ab245f0b60fa31ff1b12cbae2b11bd25d207f865e8ae78a", [:mix], [{:erlex, ">= 0.2.7", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "b0fb08bb8107c750db5c0b324fa2df5ceaa0f9307690ee3c1f6ba5b9eb5d35c3"}, "erlex": {:hex, :erlex, "0.2.7", "810e8725f96ab74d17aac676e748627a07bc87eb950d2b83acd29dc047a30595", [:mix], [], "hexpm", "3ed95f79d1a844c3f6bf0cea61e0d5612a42ce56da9c03f01df538685365efb0"}, "excoveralls": {:hex, :excoveralls, "0.18.3", "bca47a24d69a3179951f51f1db6d3ed63bca9017f476fe520eb78602d45f7756", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "746f404fcd09d5029f1b211739afb8fb8575d775b21f6a3908e7ce3e640724c6"}, - "file_system": {:hex, :file_system, "1.0.1", "79e8ceaddb0416f8b8cd02a0127bdbababe7bf4a23d2a395b983c1f8b3f73edd", [:mix], [], "hexpm", "4414d1f38863ddf9120720cd976fce5bdde8e91d8283353f0e31850fa89feb9e"}, + "file_system": {:hex, :file_system, "1.1.1", "31864f4685b0148f25bd3fbef2b1228457c0c89024ad67f7a81a3ffbc0bbad3a", [:mix], [], "hexpm", "7a15ff97dfe526aeefb090a7a9d3d03aa907e100e262a0f8f7746b78f8f87a5d"}, "hackney": {:hex, :hackney, "1.18.1", "c4443d960bb9fba6d01161d01cd81173089686717d9490e5d3606644c48d121f", [:rebar3], [{:certifi, "~>2.8.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "9afcda620704d720db8c6a3123e9848d09c87586dc1c10479c42627b905b5c5e"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, "jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"}, From 5d47a7db51cdc536dcfdf842a3a9a1e6ed9c2476 Mon Sep 17 00:00:00 2001 From: Angelika Cathor Date: Tue, 21 Oct 2025 18:08:10 +0200 Subject: [PATCH 03/10] Deprecate preferred_cli_env --- mix.exs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mix.exs b/mix.exs index 93658f34..f666e7bc 100644 --- a/mix.exs +++ b/mix.exs @@ -12,10 +12,6 @@ defmodule ElixirAnalyzer.MixProject do consolidate_protocols: false, deps: deps(), escript: escript(), - preferred_cli_env: [ - # run dialyzer in test env so that files in test/support also get checked - dialyzer: :test - ], dialyzer: [ plt_core_path: "priv/plts", plt_file: {:no_warn, "priv/plts/eventstore.plt"} @@ -36,6 +32,11 @@ defmodule ElixirAnalyzer.MixProject do ] end + def cli do + # run dialyzer in test env so that files in test/support also get checked + [preferred_envs: [dialyzer: :test]] + end + # Run "mix help compile.app" to learn about applications. def application do [ From 789be61123c456633485d4c5ee9b3b535a2da7c3 Mon Sep 17 00:00:00 2001 From: Angelika Cathor Date: Tue, 21 Oct 2025 18:17:01 +0200 Subject: [PATCH 04/10] Compiler API changes --- .../exercise_test/common_checks/compiler_warnings.ex | 12 ++++++++---- test/support/analyzer_verification/check_source.ex | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/elixir_analyzer/exercise_test/common_checks/compiler_warnings.ex b/lib/elixir_analyzer/exercise_test/common_checks/compiler_warnings.ex index d1c4d527..92d5eb04 100644 --- a/lib/elixir_analyzer/exercise_test/common_checks/compiler_warnings.ex +++ b/lib/elixir_analyzer/exercise_test/common_checks/compiler_warnings.ex @@ -9,14 +9,18 @@ defmodule ElixirAnalyzer.ExerciseTest.CommonChecks.CompilerWarnings do Logger.configure(level: :critical) warnings = - case Kernel.ParallelCompiler.compile(code_path) do - {:ok, modules, warnings} -> + case Kernel.ParallelCompiler.compile(code_path, return_diagnostics: true) do + {:ok, modules, + %{ + runtime_warnings: runtime_warnings, + compile_warnings: compile_warnings + }} -> Enum.each(modules, fn module -> :code.delete(module) :code.purge(module) end) - warnings + compile_warnings ++ runtime_warnings {:error, _errors, _warnings} -> # This should not happen, as real code is assumed to have compiled and @@ -43,7 +47,7 @@ defmodule ElixirAnalyzer.ExerciseTest.CommonChecks.CompilerWarnings do end end - defp format_warning({filepath, line, warning}) do + defp format_warning(%{file: filepath, position: line, message: warning}) do [_ | after_lib] = String.split(filepath, "/lib/") filepath = "lib/" <> Enum.join(after_lib) diff --git a/test/support/analyzer_verification/check_source.ex b/test/support/analyzer_verification/check_source.ex index 0f6e94ce..0e6e5f6c 100644 --- a/test/support/analyzer_verification/check_source.ex +++ b/test/support/analyzer_verification/check_source.ex @@ -58,7 +58,7 @@ defmodule ElixirAnalyzer.Support.AnalyzerVerification.CheckSource do comment "module is not formatted" check(%Source{code_string: code_string}) do - String.trim(code_string) == Code.format_string!(code_string) |> Enum.join() + String.trim(code_string) == Code.format_string!(code_string) end end From 989e2713414620174064015638db69ecd1bf3aaa Mon Sep 17 00:00:00 2001 From: Angelika Cathor Date: Wed, 12 Nov 2025 17:36:41 +0100 Subject: [PATCH 05/10] Update to 1.19.2 --- .github/workflows/elixir_test.yml | 4 ++-- .github/workflows/elixir_test_external.yml | 2 +- .tool-versions | 2 +- Dockerfile | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/elixir_test.yml b/.github/workflows/elixir_test.yml index a1dbfa6d..5d020b70 100644 --- a/.github/workflows/elixir_test.yml +++ b/.github/workflows/elixir_test.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-24.04 container: - image: hexpm/elixir:1.19.0-erlang-28.1-debian-bookworm-20251020 + image: hexpm/elixir:1.19.2-erlang-28.1-debian-bookworm-20251103 steps: - name: Install git @@ -53,7 +53,7 @@ jobs: id: plt-cache with: path: priv/plts - key: elixir:1.19.0-erlang-28.1-debian-bookworm-20251020-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}-v3 + key: elixir:1.19.2-erlang-28.1-debian-bookworm-20251103-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}-v3 - name: Create PLTs if: steps.plt-cache.outputs.cache-hit != 'true' diff --git a/.github/workflows/elixir_test_external.yml b/.github/workflows/elixir_test_external.yml index 08e9c354..a4e18d96 100644 --- a/.github/workflows/elixir_test_external.yml +++ b/.github/workflows/elixir_test_external.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-24.04 container: - image: hexpm/elixir:1.19.0-erlang-28.1-debian-bookworm-20251020 + image: hexpm/elixir:1.19.2-erlang-28.1-debian-bookworm-20251103 steps: - name: Install git diff --git a/.tool-versions b/.tool-versions index 0c842a11..3aaa26ec 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -elixir 1.19.0-otp-28 +elixir 1.19.2-otp-28 erlang 28.1 diff --git a/Dockerfile b/Dockerfile index 047764e9..57e1b688 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM hexpm/elixir:1.19.0-erlang-28.1-debian-bookworm-20251020 as builder +FROM hexpm/elixir:1.19.2-erlang-28.1-debian-bookworm-20251103 as builder RUN apt-get update && \ apt-get install bash -y @@ -13,7 +13,7 @@ COPY . . # Builds an escript bin/elixir_analyzer RUN ./bin/build.sh -FROM hexpm/elixir:1.19.0-erlang-28.1-debian-bookworm-20251020 +FROM hexpm/elixir:1.19.2-erlang-28.1-debian-bookworm-20251103 COPY --from=builder /etc/passwd /etc/passwd COPY --from=builder /elixir-analyzer/bin /opt/analyzer/bin From 2d6994d08ab685d1fe669aa216db555591cee6cf Mon Sep 17 00:00:00 2001 From: Angelika Cathor Date: Sun, 16 Nov 2025 09:22:06 +0100 Subject: [PATCH 06/10] Pull elixir --- elixir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elixir b/elixir index ecadf585..8d533bdc 160000 --- a/elixir +++ b/elixir @@ -1 +1 @@ -Subproject commit ecadf58547fe3a9a93ff8506018a15529c9c4f40 +Subproject commit 8d533bdc2242f61fe76ace126bc1a15595154f2c From b1e2edccbec296d2c5a76d65b6bfd2d82d89a050 Mon Sep 17 00:00:00 2001 From: Angelika Cathor Date: Sun, 16 Nov 2025 09:26:14 +0100 Subject: [PATCH 07/10] Fix test after Elixir 1.15 deprecated --- .../test_suite/gotta_snatch_em_all_test.exs | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/test/elixir_analyzer/test_suite/gotta_snatch_em_all_test.exs b/test/elixir_analyzer/test_suite/gotta_snatch_em_all_test.exs index a83abed2..754c0916 100644 --- a/test/elixir_analyzer/test_suite/gotta_snatch_em_all_test.exs +++ b/test/elixir_analyzer/test_suite/gotta_snatch_em_all_test.exs @@ -68,25 +68,13 @@ defmodule ElixirAnalyzer.ExerciseTest.GottSnatchEmAllTest do @spec split_shiny_cards(collection()) :: {[card()], [card()]} def split_shiny_cards(collection) do - {shiny, not_shiny} = split_with(collection, &String.starts_with?(&1, "Shiny")) + {shiny, not_shiny} = MapSet.split_with(collection, &String.starts_with?(&1, "Shiny")) shiny_list = shiny |> MapSet.to_list() |> Enum.sort() not_shiny_list = not_shiny |> MapSet.to_list() |> Enum.sort() {shiny_list, not_shiny_list} end - - defp split_with(mapset, predicate) do - init = {MapSet.new(), MapSet.new()} - - Enum.reduce(mapset, init, fn item, {passes, fails} -> - if predicate.(item) do - {MapSet.put(passes, item), fails} - else - {passes, MapSet.put(fails, item)} - end - end) - end end end From 00e408778492e4a9e538a74a5b5de104da4d098d Mon Sep 17 00:00:00 2001 From: Angelika Cathor Date: Wed, 19 Nov 2025 19:27:12 +0100 Subject: [PATCH 08/10] Upgrade dialyxir --- mix.exs | 2 +- mix.lock | 4 ++-- priv/plts/.keep | 0 3 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 priv/plts/.keep diff --git a/mix.exs b/mix.exs index f666e7bc..24706ba3 100644 --- a/mix.exs +++ b/mix.exs @@ -49,7 +49,7 @@ defmodule ElixirAnalyzer.MixProject do [ {:jason, "~> 1.2"}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, - {:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false}, + {:dialyxir, "~> 1.4.7", runtime: false}, {:excoveralls, "~> 0.14", only: :test} ] end diff --git a/mix.lock b/mix.lock index 70755703..42fe9c3a 100644 --- a/mix.lock +++ b/mix.lock @@ -2,8 +2,8 @@ "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, "certifi": {:hex, :certifi, "2.8.0", "d4fb0a6bb20b7c9c3643e22507e42f356ac090a1dcea9ab99e27e0376d695eba", [:rebar3], [], "hexpm", "6ac7efc1c6f8600b08d625292d4bbf584e14847ce1b6b5c44d983d273e1097ea"}, "credo": {:hex, :credo, "1.7.13", "126a0697df6b7b71cd18c81bc92335297839a806b6f62b61d417500d1070ff4e", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "47641e6d2bbff1e241e87695b29f617f1a8f912adea34296fb10ecc3d7e9e84f"}, - "dialyxir": {:hex, :dialyxir, "1.4.5", "ca1571ac18e0f88d4ab245f0b60fa31ff1b12cbae2b11bd25d207f865e8ae78a", [:mix], [{:erlex, ">= 0.2.7", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "b0fb08bb8107c750db5c0b324fa2df5ceaa0f9307690ee3c1f6ba5b9eb5d35c3"}, - "erlex": {:hex, :erlex, "0.2.7", "810e8725f96ab74d17aac676e748627a07bc87eb950d2b83acd29dc047a30595", [:mix], [], "hexpm", "3ed95f79d1a844c3f6bf0cea61e0d5612a42ce56da9c03f01df538685365efb0"}, + "dialyxir": {:hex, :dialyxir, "1.4.7", "dda948fcee52962e4b6c5b4b16b2d8fa7d50d8645bbae8b8685c3f9ecb7f5f4d", [:mix], [{:erlex, ">= 0.2.8", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "b34527202e6eb8cee198efec110996c25c5898f43a4094df157f8d28f27d9efe"}, + "erlex": {:hex, :erlex, "0.2.8", "cd8116f20f3c0afe376d1e8d1f0ae2452337729f68be016ea544a72f767d9c12", [:mix], [], "hexpm", "9d66ff9fedf69e49dc3fd12831e12a8a37b76f8651dd21cd45fcf5561a8a7590"}, "excoveralls": {:hex, :excoveralls, "0.18.3", "bca47a24d69a3179951f51f1db6d3ed63bca9017f476fe520eb78602d45f7756", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "746f404fcd09d5029f1b211739afb8fb8575d775b21f6a3908e7ce3e640724c6"}, "file_system": {:hex, :file_system, "1.1.1", "31864f4685b0148f25bd3fbef2b1228457c0c89024ad67f7a81a3ffbc0bbad3a", [:mix], [], "hexpm", "7a15ff97dfe526aeefb090a7a9d3d03aa907e100e262a0f8f7746b78f8f87a5d"}, "hackney": {:hex, :hackney, "1.18.1", "c4443d960bb9fba6d01161d01cd81173089686717d9490e5d3606644c48d121f", [:rebar3], [{:certifi, "~>2.8.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "9afcda620704d720db8c6a3123e9848d09c87586dc1c10479c42627b905b5c5e"}, diff --git a/priv/plts/.keep b/priv/plts/.keep deleted file mode 100644 index e69de29b..00000000 From 5a6f57e2ce1a510a05b71cc9de4cbc4410ba7345 Mon Sep 17 00:00:00 2001 From: Jeremie Gillet Date: Fri, 28 Nov 2025 13:39:00 +0900 Subject: [PATCH 09/10] update submodule --- elixir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elixir b/elixir index 8d533bdc..997488ab 160000 --- a/elixir +++ b/elixir @@ -1 +1 @@ -Subproject commit 8d533bdc2242f61fe76ace126bc1a15595154f2c +Subproject commit 997488ab3ce409f903b48874c788e864dbcae41a From c84fca32f0e87eddca54e5133b32c0cd3afe899a Mon Sep 17 00:00:00 2001 From: Jeremie Gillet Date: Fri, 28 Nov 2025 14:32:24 +0900 Subject: [PATCH 10/10] bump to 1.19.4 --- .github/workflows/elixir_test.yml | 4 ++-- .github/workflows/elixir_test_external.yml | 2 +- .tool-versions | 2 +- Dockerfile | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/elixir_test.yml b/.github/workflows/elixir_test.yml index 5d020b70..c88266bf 100644 --- a/.github/workflows/elixir_test.yml +++ b/.github/workflows/elixir_test.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-24.04 container: - image: hexpm/elixir:1.19.2-erlang-28.1-debian-bookworm-20251103 + image: hexpm/elixir:1.19.4-erlang-28.1-debian-bookworm-20251117 steps: - name: Install git @@ -53,7 +53,7 @@ jobs: id: plt-cache with: path: priv/plts - key: elixir:1.19.2-erlang-28.1-debian-bookworm-20251103-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}-v3 + key: elixir:1.19.4-erlang-28.1-debian-bookworm-20251103-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}-v3 - name: Create PLTs if: steps.plt-cache.outputs.cache-hit != 'true' diff --git a/.github/workflows/elixir_test_external.yml b/.github/workflows/elixir_test_external.yml index a4e18d96..7d70f88f 100644 --- a/.github/workflows/elixir_test_external.yml +++ b/.github/workflows/elixir_test_external.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-24.04 container: - image: hexpm/elixir:1.19.2-erlang-28.1-debian-bookworm-20251103 + image: hexpm/elixir:1.19.4-erlang-28.1-debian-bookworm-20251117 steps: - name: Install git diff --git a/.tool-versions b/.tool-versions index 3aaa26ec..078af8ba 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -elixir 1.19.2-otp-28 +elixir 1.19.4-otp-28 erlang 28.1 diff --git a/Dockerfile b/Dockerfile index 57e1b688..149ad788 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM hexpm/elixir:1.19.2-erlang-28.1-debian-bookworm-20251103 as builder +FROM hexpm/elixir:1.19.4-erlang-28.1-debian-bookworm-20251117 as builder RUN apt-get update && \ apt-get install bash -y @@ -13,7 +13,7 @@ COPY . . # Builds an escript bin/elixir_analyzer RUN ./bin/build.sh -FROM hexpm/elixir:1.19.2-erlang-28.1-debian-bookworm-20251103 +FROM hexpm/elixir:1.19.4-erlang-28.1-debian-bookworm-20251117 COPY --from=builder /etc/passwd /etc/passwd COPY --from=builder /elixir-analyzer/bin /opt/analyzer/bin