diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f55543a7..0149e8ab 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,17 +14,17 @@ jobs: fail-fast: false matrix: include: - - erlang: "28.1" - elixir: "1.19" + - erlang: "29.0" + elixir: "1.20" lint: true coverage: true dialyzer: true # One version down. - - erlang: "27.2" - elixir: "1.18" + - erlang: "28.1" + elixir: "1.19" # Oldest version. - erlang: "24.3" - elixir: "1.12.3" + elixir: "1.15.8" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/mix.exs b/mix.exs index aabe70ba..f0ddd8d4 100644 --- a/mix.exs +++ b/mix.exs @@ -8,7 +8,7 @@ defmodule Mint.MixProject do [ app: :mint, version: @version, - elixir: "~> 1.12", + elixir: "~> 1.15", start_permanent: Mix.env() == :prod, elixirc_paths: elixirc_paths(Mix.env()), deps: deps(), diff --git a/test/mint/http1/integration_test.exs b/test/mint/http1/integration_test.exs index 6c740711..d78bfb77 100644 --- a/test/mint/http1/integration_test.exs +++ b/test/mint/http1/integration_test.exs @@ -224,9 +224,12 @@ defmodule Mint.HTTP1.IntegrationTest do transport_opts: [log_alert: false, reuse_sessions: false] ) - # OTP 21.3 changes the format of SSL errors. Let's support both ways for now. + # OTP 21.3 changes the format of SSL errors. OTP 29 reports a hostname + # mismatch as a "bad certificate" alert instead of "handshake failure". + # Support all the variants. assert reason == {:tls_alert, ~c"handshake failure"} or - match?({:tls_alert, {:handshake_failure, _}}, reason) + match?({:tls_alert, {:handshake_failure, _}}, reason) or + match?({:tls_alert, {:bad_certificate, _}}, reason) assert {:ok, _conn} = HTTP1.connect(:https, "wrong.host.badssl.com", 443, diff --git a/test/mint/integration_test.exs b/test/mint/integration_test.exs index 619dfecf..af7b44db 100644 --- a/test/mint/integration_test.exs +++ b/test/mint/integration_test.exs @@ -80,9 +80,12 @@ defmodule Mint.IntegrationTest do transport_opts: [log_alert: false, reuse_sessions: false] ) - # OTP 21.3 changes the format of SSL errors. Let's support both ways for now. + # OTP 21.3 changes the format of SSL errors. OTP 29 reports a hostname + # mismatch as a "bad certificate" alert instead of "handshake failure". + # Support all the variants. assert reason == {:tls_alert, ~c"handshake failure"} or - match?({:tls_alert, {:handshake_failure, _}}, reason) + match?({:tls_alert, {:handshake_failure, _}}, reason) or + match?({:tls_alert, {:bad_certificate, _}}, reason) assert {:ok, _conn} = HTTP.connect(