diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68f3e7f..fe47ace 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,8 +10,12 @@ on: jobs: test: - name: Run tests runs-on: ubuntu-latest + name: Elixir ${{ matrix.elixir }} / OTP ${{ matrix.otp }} + strategy: + matrix: + otp: ['26', '27'] + elixir: ['1.17', '1.18'] steps: - name: Checkout uses: actions/checkout@v3 @@ -20,8 +24,8 @@ jobs: uses: erlef/setup-beam@v1 id: setup-elixir with: - version-type: strict - version-file: .tool-versions + elixir-version: ${{ matrix.elixir }} + otp-version: ${{ matrix.otp }} - name: Restore the cache uses: actions/cache@v3 @@ -29,11 +33,10 @@ jobs: path: | deps _build - dialyzer - key: | - ${{ runner.os }}-${{ steps.setup-elixir.outputs.elixir-version }}-${{ steps.setup-elixir.outputs.otp-version }}-mixlockhash-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} + priv/plts + key: deps-${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-${{ hashFiles('**/mix.lock') }} restore-keys: | - ${{ runner.os }}-${{ steps.setup-elixir.outputs.elixir-version }}-${{ steps.setup-elixir.outputs.otp-version }}-mixlockhash- + deps-${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }} - name: Run CI run: | diff --git a/.gitignore b/.gitignore index 2e20f0c..43d994a 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,5 @@ z_stream-*.tar .elixir_ls # Dialyzer generated PLT files -/dialyzer \ No newline at end of file +/priv/plts/*.plt +/priv/plts/*.plt.hash diff --git a/.tool-versions b/.tool-versions index ab22093..f653a37 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -erlang 26.2.5.1 -elixir 1.17.1-otp-26 +erlang 27.2 +elixir 1.18.0-otp-27 diff --git a/mix.exs b/mix.exs index fd5c27e..2a72e28 100644 --- a/mix.exs +++ b/mix.exs @@ -33,7 +33,8 @@ defmodule ZStream.MixProject do defp dialyzer do [ - plt_file: {:no_warn, "dialyzer/dialyzer.plt"}, + plt_local_path: "priv/plts/project.plt", + plt_core_path: "priv/plts/core.plt", plt_add_apps: [:ex_unit, :mix] ] end @@ -97,7 +98,10 @@ defmodule ZStream.MixProject do {:ex_doc, "~> 0.30.8", only: :dev, runtime: false}, {:ezstd, "~> 1.1"}, {:host_triple, "~> 0.1.0"}, - {:lz4, git: "https://github.com/rabbitmq/lz4-erlang", tag: "v1.9.4.1", manager: :make}, + {:lz4, + git: "https://github.com/rabbitmq/lz4-erlang", + ref: "100296252d31cc4847ba35d0c8efae3569bd66cb", + manager: :make}, {:sobelow, "~> 0.13.0", only: [:dev, :test], runtime: false}, {:stream_data, "~> 1.0", only: [:dev, :test]} ] diff --git a/mix.lock b/mix.lock index 99f3b23..923dcc0 100644 --- a/mix.lock +++ b/mix.lock @@ -11,7 +11,7 @@ "file_system": {:hex, :file_system, "1.0.0", "b689cc7dcee665f774de94b5a832e578bd7963c8e637ef940cd44327db7de2cd", [:mix], [], "hexpm", "6752092d66aec5a10e662aefeed8ddb9531d79db0bc145bb8c40325ca1d8536d"}, "host_triple": {:hex, :host_triple, "0.1.0", "cc5dc084cb5e4d8122cb33aefe76977f3c25319278c1011868b7cee2eba98fd4", [:rebar3], [], "hexpm", "26fee396a7c0e1d66115e74638a795366496b59bf13f474f3ae1c4491fd14fc5"}, "jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"}, - "lz4": {:git, "https://github.com/rabbitmq/lz4-erlang", "fb3ccc2449253f01a278604cc6445bbfb5a7679f", [tag: "v1.9.4.1"]}, + "lz4": {:git, "https://github.com/rabbitmq/lz4-erlang", "100296252d31cc4847ba35d0c8efae3569bd66cb", [ref: "100296252d31cc4847ba35d0c8efae3569bd66cb"]}, "makeup": {:hex, :makeup, "1.1.2", "9ba8837913bdf757787e71c1581c21f9d2455f4dd04cfca785c70bbfff1a76a3", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cce1566b81fbcbd21eca8ffe808f33b221f9eee2cbc7a1706fc3da9ff18e6cac"}, "makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [: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", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.5", "e0ff5a7c708dda34311f7522a8758e23bfcd7d8d8068dc312b5eb41c6fd76eba", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "94d2e986428585a21516d7d7149781480013c56e30c6a233534bedf38867a59a"}, diff --git a/test/z_stream_test.exs b/test/z_stream_test.exs deleted file mode 100644 index ef6e714..0000000 --- a/test/z_stream_test.exs +++ /dev/null @@ -1,8 +0,0 @@ -defmodule ZStreamTest do - use ExUnit.Case - doctest ZStream - - test "greets the world" do - assert ZStream.hello() == :world - end -end