diff --git a/dev.Dockerfile b/dev.Dockerfile index 648aa55..2429ae8 100644 --- a/dev.Dockerfile +++ b/dev.Dockerfile @@ -1,6 +1,6 @@ -ARG ELIXIR_VERSION=1.16.2 -ARG OTP_VERSION=26.2.2 -ARG DEBIAN_VERSION=bookworm-20240130 +ARG ELIXIR_VERSION=1.17.0 +ARG OTP_VERSION=26.2.5 +ARG DEBIAN_VERSION=bookworm-20240612-slim ARG DEV_IMAGE="hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}" FROM ${DEV_IMAGE} diff --git a/lib/pinchflat/metadata/metadata_file_helpers.ex b/lib/pinchflat/metadata/metadata_file_helpers.ex index 80ceb53..c4320fa 100644 --- a/lib/pinchflat/metadata/metadata_file_helpers.ex +++ b/lib/pinchflat/metadata/metadata_file_helpers.ex @@ -49,7 +49,7 @@ defmodule Pinchflat.Metadata.MetadataFileHelpers do Returns {:ok, map()} | {:error, any} """ def read_compressed_metadata(filepath) do - {:ok, json} = File.open(filepath, [:read, :compressed], &IO.read(&1, :all)) + {:ok, json} = File.open(filepath, [:read, :compressed], &IO.read(&1, :eof)) Phoenix.json_library().decode(json) end diff --git a/mix.exs b/mix.exs index 1077072..161bd86 100644 --- a/mix.exs +++ b/mix.exs @@ -5,7 +5,7 @@ defmodule Pinchflat.MixProject do [ app: :pinchflat, version: "2024.6.10", - elixir: "~> 1.16", + elixir: "~> 1.17", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, aliases: aliases(), @@ -71,7 +71,7 @@ defmodule Pinchflat.MixProject do {:nimble_parsec, "~> 1.4"}, {:timex, "~> 3.0"}, {:mox, "~> 1.0", only: :test}, - {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, + {:credo, "~> 1.7.7", only: [:dev, :test], runtime: false}, {:credo_naming, "~> 2.1", only: [:dev, :test], runtime: false}, {:ex_check, "~> 0.14.0", only: [:dev, :test], runtime: false}, {:faker, "~> 0.17", only: :test}, diff --git a/mix.lock b/mix.lock index e986d1b..180ba25 100644 --- a/mix.lock +++ b/mix.lock @@ -7,7 +7,7 @@ "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, - "credo": {:hex, :credo, "1.7.3", "05bb11eaf2f2b8db370ecaa6a6bda2ec49b2acd5e0418bc106b73b07128c0436", [: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", "35ea675a094c934c22fb1dca3696f3c31f2728ae6ef5a53b5d648c11180a4535"}, + "credo": {:hex, :credo, "1.7.7", "771445037228f763f9b2afd612b6aa2fd8e28432a95dbbc60d8e03ce71ba4446", [: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", "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e"}, "credo_naming": {:hex, :credo_naming, "2.1.0", "d44ad58890d4db552e141ce64756a74ac1573665af766d1ac64931aa90d47744", [:make, :mix], [{:credo, "~> 1.6", [hex: :credo, repo: "hexpm", optional: false]}], "hexpm", "830e23b3fba972e2fccec49c0c089fe78c1e64bc16782a2682d78082351a2909"}, "db_connection": {:hex, :db_connection, "2.6.0", "77d835c472b5b67fc4f29556dee74bf511bbafecdcaf98c27d27fa5918152086", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c2f992d15725e721ec7fbc1189d4ecdb8afef76648c746a8e1cad35e3b8a35f3"}, "decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"}, diff --git a/selfhosted.Dockerfile b/selfhosted.Dockerfile index 1101fc8..0449c88 100644 --- a/selfhosted.Dockerfile +++ b/selfhosted.Dockerfile @@ -1,8 +1,8 @@ # Find eligible builder and runner images on Docker Hub. We use Ubuntu/Debian # instead of Alpine to avoid DNS resolution issues in production. -ARG ELIXIR_VERSION=1.16.2 -ARG OTP_VERSION=26.2.2 -ARG DEBIAN_VERSION=bookworm-20240130-slim +ARG ELIXIR_VERSION=1.17.0 +ARG OTP_VERSION=26.2.5 +ARG DEBIAN_VERSION=bookworm-20240612-slim ARG BUILDER_IMAGE="hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}" ARG RUNNER_IMAGE="debian:${DEBIAN_VERSION}" diff --git a/test/pinchflat/metadata/metadata_file_helpers_test.exs b/test/pinchflat/metadata/metadata_file_helpers_test.exs index 3d5b615..36db3cd 100644 --- a/test/pinchflat/metadata/metadata_file_helpers_test.exs +++ b/test/pinchflat/metadata/metadata_file_helpers_test.exs @@ -32,7 +32,7 @@ defmodule Pinchflat.Metadata.MetadataFileHelpersTest do metadata_map = %{"foo" => "bar"} filepath = Helpers.compress_and_store_metadata_for(media_item, metadata_map) - {:ok, json} = File.open(filepath, [:read, :compressed], &IO.read(&1, :all)) + {:ok, json} = File.open(filepath, [:read, :compressed], &IO.read(&1, :eof)) assert json == Phoenix.json_library().encode!(metadata_map) end