From c434347de89534fbd6c800abdf315cd6c2c73252 Mon Sep 17 00:00:00 2001 From: Elliott Clark Date: Tue, 7 Jan 2025 15:19:51 -0600 Subject: [PATCH 1/3] chore: update asdf elixir/otp versions Summary: - The latest elixir has nice gradual typing. This PR updates to the latest version to bring that in. - Bump OTP as well Test Plan: - make integration.kind - mix compile --force --warnings-as-errors --- .tool-versions | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.tool-versions b/.tool-versions index 74a4368e..49e0e20c 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,4 +1,4 @@ -erlang 26.0.2 -elixir 1.15.2 +erlang 27.1.2 +elixir 1.18.1-otp-27 k3d 5.4.6 -kind 0.19.0 \ No newline at end of file +kind 0.25.0 \ No newline at end of file From 8cd4293abca3f7925f82cf61391826bc4cec7900 Mon Sep 17 00:00:00 2001 From: Elliott Clark Date: Tue, 7 Jan 2025 15:29:58 -0600 Subject: [PATCH 2/3] fix: update github ci workflows for new version Summary: - Add the latest elixir and otp version to the testing matrix. We've been running them at BatteriesIncluded for a while on the latest versions. - Remove the restore keys field for plts. This causes us to re-generate new typespecs on new elixir versions (new otp versions as well but they don't seem to change the plts as much) Test Plan: - Green CI --- .github/workflows/ci.yaml | 3 +-- .github/workflows/elixir_matrix.yaml | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5069ec1a..8fe37a60 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -26,6 +26,7 @@ jobs: - name: Setup elixir uses: erlef/setup-beam@v1 + id: beam with: version-file: .tool-versions version-type: strict @@ -52,8 +53,6 @@ jobs: with: key: | ${{ runner.os }}-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-plt - restore-keys: | - ${{ runner.os }}-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-plt path: | priv/plts diff --git a/.github/workflows/elixir_matrix.yaml b/.github/workflows/elixir_matrix.yaml index 899dd21d..37bcb936 100644 --- a/.github/workflows/elixir_matrix.yaml +++ b/.github/workflows/elixir_matrix.yaml @@ -13,14 +13,24 @@ jobs: fail-fast: false matrix: # See https://hexdocs.pm/elixir/1.13/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp - otp: ["23.x", "24.x", "25.x", "26.x"] - elixir: ["1.14.x", "1.15.x", "1.16.x"] + otp: ["23.x", "26.x", "27.x"] + elixir: ["1.14.x", "1.17.x", "1.18.x"] exclude: # OTP 23 - elixir: "1.15.x" otp: "23.x" - - elixir: "1.16.x" + - elixir: "1.17.x" otp: "23.x" + - elixir: "1.18.x" + otp: "23.x" + # OTP 26 + # - Users on recent elixir likely updated OTP versions + - elixir: "1.18.x" + otp: "26.x" + # OTP 27 - Elixir 1.14.x is not compatible with OTP 27 + - elixir: "1.14.x" + otp: "27.x" + steps: - uses: actions/checkout@v4.1.7 From fe80a40ce9b916df074b9df263ab166cbae07b83 Mon Sep 17 00:00:00 2001 From: Elliott Clark Date: Wed, 8 Jan 2025 09:50:38 -0600 Subject: [PATCH 3/3] fix: remove impossible else match arm in Stream.ListRequest Summary: - Fix dialyzer error Test Plan: - CI --- lib/k8s/client/runner/stream/list_request.ex | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/k8s/client/runner/stream/list_request.ex b/lib/k8s/client/runner/stream/list_request.ex index 2194429b..a79b5958 100644 --- a/lib/k8s/client/runner/stream/list_request.ex +++ b/lib/k8s/client/runner/stream/list_request.ex @@ -40,9 +40,6 @@ defmodule K8s.Client.Runner.Stream.ListRequest do {:ok, items} <- Map.fetch(response, "items") do {items, struct!(state, continue: cont)} else - :halt -> - {:halt, nil} - :error -> {:halt, nil}