From 5afb9433c811d449df424dc603e2a6982affe564 Mon Sep 17 00:00:00 2001 From: Jeremie Gillet Date: Fri, 12 Jun 2026 14:00:18 +0900 Subject: [PATCH 1/3] update to 1.20 --- .github/workflows/elixir_test.yml | 2 +- .github/workflows/elixir_test_external.yml | 2 +- .tool-versions | 4 ++-- Dockerfile | 4 ++-- mix.exs | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/elixir_test.yml b/.github/workflows/elixir_test.yml index 38677545..471f3450 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.4-erlang-28.1-debian-bookworm-20251117 + image: hexpm/elixir:1.20.1-erlang-29.0-debian-bookworm-20260610 steps: - name: Install git diff --git a/.github/workflows/elixir_test_external.yml b/.github/workflows/elixir_test_external.yml index eac91238..4d43f0c0 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.4-erlang-28.1-debian-bookworm-20251117 + image: hexpm/elixir:1.20.1-erlang-29.0-debian-bookworm-20260610 steps: - name: Install git diff --git a/.tool-versions b/.tool-versions index 078af8ba..ce199e57 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -elixir 1.19.4-otp-28 -erlang 28.1 +elixir 1.20.1-otp-29 +erlang 29.0.2 diff --git a/Dockerfile b/Dockerfile index 149ad788..4143bd74 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM hexpm/elixir:1.19.4-erlang-28.1-debian-bookworm-20251117 as builder +FROM hexpm/elixir:1.20.1-erlang-29.0-debian-bookworm-20260610 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.4-erlang-28.1-debian-bookworm-20251117 +FROM hexpm/elixir:1.20.1-erlang-29.0-debian-bookworm-20260610 COPY --from=builder /etc/passwd /etc/passwd COPY --from=builder /elixir-analyzer/bin /opt/analyzer/bin diff --git a/mix.exs b/mix.exs index 24706ba3..1584c3aa 100644 --- a/mix.exs +++ b/mix.exs @@ -5,7 +5,7 @@ defmodule ElixirAnalyzer.MixProject do [ app: :elixir_analyzer, version: "0.1.0", - elixir: "~> 1.19", + elixir: "~> 1.20", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, # Turn off protocol consolidation to avoid warning in analyzed code From 51179e94a3cbec43d36d3b72edce2db4567b51e5 Mon Sep 17 00:00:00 2001 From: Jeremie Gillet Date: Fri, 12 Jun 2026 14:01:34 +0900 Subject: [PATCH 2/3] update elixir --- elixir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elixir b/elixir index 997488ab..a06d0fce 160000 --- a/elixir +++ b/elixir @@ -1 +1 @@ -Subproject commit 997488ab3ce409f903b48874c788e864dbcae41a +Subproject commit a06d0fcefb9e35ed01b35c26b545f43901882373 From 03da906cdb48aee1dd22b8292a10cf4d676893d7 Mon Sep 17 00:00:00 2001 From: Jeremie Gillet Date: Fri, 12 Jun 2026 14:04:49 +0900 Subject: [PATCH 3/3] update credo and fix warning --- mix.lock | 4 ++-- .../{unless_with_else.exs => unless_with_else_test.exs} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename test/elixir_analyzer/exercise_test/common_checks/{unless_with_else.exs => unless_with_else_test.exs} (100%) diff --git a/mix.lock b/mix.lock index 42fe9c3a..8a2ff923 100644 --- a/mix.lock +++ b/mix.lock @@ -1,14 +1,14 @@ %{ "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"}, + "credo": {:hex, :credo, "1.7.19", "cc52129665fc7c15143d47838fda0f9cd6dac9ceced7bf4da6f85fcbfe64b12a", [: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", "2d8bc95d5a7bb99dd2613621d4f08c6a3575c3fd4b62e6a2b48a100352a557b8"}, "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"}, "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"}, + "jason": {:hex, :jason, "1.4.5", "2e3a008590b0b8d7388c20293e9dcc9cf3e5d642fd2a114e4cbbb52e595d940a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0 or ~> 3.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "b0c823996102bcd0239b3c2444eb00409b72f6a140c1950bc8b457d836b30684"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, diff --git a/test/elixir_analyzer/exercise_test/common_checks/unless_with_else.exs b/test/elixir_analyzer/exercise_test/common_checks/unless_with_else_test.exs similarity index 100% rename from test/elixir_analyzer/exercise_test/common_checks/unless_with_else.exs rename to test/elixir_analyzer/exercise_test/common_checks/unless_with_else_test.exs