From 48565a076d507b1998ad14110f71783a0a8c4713 Mon Sep 17 00:00:00 2001 From: Pete Cipollone Date: Sat, 8 Aug 2026 17:33:22 -0700 Subject: [PATCH 1/3] update more gems --- Gemfile | 2 +- Gemfile.lock | 33 +++++---------------------------- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/Gemfile b/Gemfile index b417d8a..daa45ed 100644 --- a/Gemfile +++ b/Gemfile @@ -18,7 +18,7 @@ gem "solid_queue" gem "solid_cable" # Image variants (Active Storage) -gem "image_processing", "~> 1.2" +gem "image_processing", "~> 2.0" # S3-compatible object storage (Active Storage → Hetzner Object Storage) gem "aws-sdk-s3", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 127325f..ab7dde3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -158,13 +158,6 @@ GEM logger faraday-net_http (3.4.4) net-http (~> 0.5) - ffi (1.17.4-aarch64-linux-gnu) - ffi (1.17.4-aarch64-linux-musl) - ffi (1.17.4-arm-linux-gnu) - ffi (1.17.4-arm-linux-musl) - ffi (1.17.4-arm64-darwin) - ffi (1.17.4-x86_64-linux-gnu) - ffi (1.17.4-x86_64-linux-musl) friendly_id (5.7.0) activerecord (>= 4.0.0) fugit (1.13.0) @@ -183,14 +176,12 @@ GEM logger ostruct ice_cube (0.17.0) - image_processing (1.14.0) - mini_magick (>= 4.9.5, < 6) - ruby-vips (>= 2.0.17, < 3) + image_processing (2.0.3) importmap-rails (2.2.3) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - io-console (0.9.0) + io-console (0.9.1) irb (1.18.0) pp (>= 0.6.0) prism (>= 1.3.0) @@ -238,8 +229,6 @@ GEM logger mime-types-data (~> 3.2025, >= 3.2025.0507) mime-types-data (3.2026.0701) - mini_magick (5.3.3) - logger mini_mime (1.1.5) minitest (6.0.6) drb (~> 2.0) @@ -437,9 +426,6 @@ GEM rubocop-performance (>= 1.24) rubocop-rails (>= 2.30) ruby-progressbar (1.13.0) - ruby-vips (2.3.0) - ffi (~> 1.12) - logger securerandom (0.4.1) shoulda-matchers (7.0.1) activesupport (>= 7.1) @@ -531,7 +517,7 @@ DEPENDENCIES factory_bot_rails friendly_id (~> 5.7) icalendar - image_processing (~> 1.2) + image_processing (~> 2.0) importmap-rails jbuilder kamal @@ -609,13 +595,6 @@ CHECKSUMS factory_bot_rails (6.5.1) sha256=d3cc4851eae4dea8a665ec4a4516895045e710554d2b5ac9e68b94d351bc6d68 faraday (2.14.3) sha256=1882247e6766615c8220b4392bf1d27f6ebb63d8e28267587cef1fb0bf37f278 faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588 - ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df - ffi (1.17.4-aarch64-linux-musl) sha256=9286b7a615f2676245283aef0a0a3b475ae3aae2bb5448baace630bb77b91f39 - ffi (1.17.4-arm-linux-gnu) sha256=d6dbddf7cb77bf955411af5f187a65b8cd378cb003c15c05697f5feee1cb1564 - ffi (1.17.4-arm-linux-musl) sha256=9d4838ded0465bef6e2426935f6bcc93134b6616785a84ffd2a3d82bc3cf6f95 - ffi (1.17.4-arm64-darwin) sha256=19071aaf1419251b0a46852abf960e77330a3b334d13a4ab51d58b31a937001b - ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d - ffi (1.17.4-x86_64-linux-musl) sha256=3fdf9888483de005f8ef8d1cf2d3b20d86626af206cbf780f6a6a12439a9c49e friendly_id (5.7.0) sha256=b8994416ebaceebc7c60bc556e84ef32a3a663e2e582eb04c429216cc98de4c4 fugit (1.13.0) sha256=a4f093fce740da52f216740a5041e2a594ea763cdb89e8b2754ca4399634ab18 globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427 @@ -624,9 +603,9 @@ CHECKSUMS i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5 icalendar (2.12.4) sha256=acf9b8b166dad4679b8be2cc3202260896c199ab7302f748c760c97e9d32e3a2 ice_cube (0.17.0) sha256=32deb45dda4b4acc53505c2f581f6d32b5afc04d29b9004769944a0df5a5fcbe - image_processing (1.14.0) sha256=754cc169c9c262980889bec6bfd325ed1dafad34f85242b5a07b60af004742fb + image_processing (2.0.3) sha256=793e33f38470edd0a2d6bfd00acf8cb239c76284ba2e3dfb76633ac2b457f23a importmap-rails (2.2.3) sha256=7101be2a4dc97cf1558fb8f573a718404c5f6bcfe94f304bf1f39e444feeb16a - io-console (0.9.0) sha256=b8946037a2e385580665c31aa593c785923fe900c694d86da011fd48e51e3868 + io-console (0.9.1) sha256=34b5d65a6ed934d9d79d28c0d78ae6a547aa04fa75ba185b2996e1bd2c92d6e6 irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3 jbuilder (2.15.1) sha256=2430bec28fb0cebacb5875b1009cf9d8bc3c303ccb810c4c8b062a4b51457637 jmespath (1.6.2) sha256=238d774a58723d6c090494c8879b5e9918c19485f7e840f2c1c7532cf84ebcb1 @@ -644,7 +623,6 @@ CHECKSUMS matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b mime-types (3.7.0) sha256=dcebf61c246f08e15a4de34e386ebe8233791e868564a470c3fe77c00eed5e56 mime-types-data (3.2026.0701) sha256=cd8811e1fb89d836499ba0582368a10ee74cef929ba956d1d5ddca045e6a730f - mini_magick (5.3.3) sha256=b3beed8a8cef36bd03666365f14b89cd344da0ecd373af53e617c71bfd426aab mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1 msgpack (1.8.4) sha256=4411c22d350dd1c20250f7eada3cca2695438c2f769cf0782f0cd065d90a3e7b @@ -716,7 +694,6 @@ CHECKSUMS rubocop-rails (2.36.0) sha256=105a5f5b0001ff2ef28a3af90da50862464e0775e8d0016d599079c0ca408bdb rubocop-rails-omakase (1.1.0) sha256=2af73ac8ee5852de2919abbd2618af9c15c19b512c4cfc1f9a5d3b6ef009109d ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 - ruby-vips (2.3.0) sha256=e685ec02c13969912debbd98019e50492e12989282da5f37d05f5471442f5374 securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 shoulda-matchers (7.0.1) sha256=b4bfd8744c10e0a36c8ac1a687f921ee7e25ed529e50488d61b79a8688749c77 snaky_hash (2.0.7) sha256=7d02c70012a3f932e48860cd024577908300c9aa615e0cb9b450aaa749cbcb4d From 10833073d23734dc3699b0e6f0f1da7607b72201 Mon Sep 17 00:00:00 2001 From: Pete Cipollone Date: Sat, 8 Aug 2026 17:50:55 -0700 Subject: [PATCH 2/3] explicitly install ruby-vips --- Gemfile | 1 + Gemfile.lock | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/Gemfile b/Gemfile index daa45ed..846fb4a 100644 --- a/Gemfile +++ b/Gemfile @@ -19,6 +19,7 @@ gem "solid_cable" # Image variants (Active Storage) gem "image_processing", "~> 2.0" +gem "ruby-vips", "~> 2.0" # S3-compatible object storage (Active Storage → Hetzner Object Storage) gem "aws-sdk-s3", require: false diff --git a/Gemfile.lock b/Gemfile.lock index ab7dde3..e399204 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -158,6 +158,13 @@ GEM logger faraday-net_http (3.4.4) net-http (~> 0.5) + ffi (1.17.4-aarch64-linux-gnu) + ffi (1.17.4-aarch64-linux-musl) + ffi (1.17.4-arm-linux-gnu) + ffi (1.17.4-arm-linux-musl) + ffi (1.17.4-arm64-darwin) + ffi (1.17.4-x86_64-linux-gnu) + ffi (1.17.4-x86_64-linux-musl) friendly_id (5.7.0) activerecord (>= 4.0.0) fugit (1.13.0) @@ -426,6 +433,9 @@ GEM rubocop-performance (>= 1.24) rubocop-rails (>= 2.30) ruby-progressbar (1.13.0) + ruby-vips (2.3.0) + ffi (~> 1.12) + logger securerandom (0.4.1) shoulda-matchers (7.0.1) activesupport (>= 7.1) @@ -531,6 +541,7 @@ DEPENDENCIES rails (~> 8.1.3) rspec-rails (~> 8.0) rubocop-rails-omakase + ruby-vips (~> 2.0) shoulda-matchers (~> 7.0) solid_cable solid_cache @@ -595,6 +606,13 @@ CHECKSUMS factory_bot_rails (6.5.1) sha256=d3cc4851eae4dea8a665ec4a4516895045e710554d2b5ac9e68b94d351bc6d68 faraday (2.14.3) sha256=1882247e6766615c8220b4392bf1d27f6ebb63d8e28267587cef1fb0bf37f278 faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588 + ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df + ffi (1.17.4-aarch64-linux-musl) sha256=9286b7a615f2676245283aef0a0a3b475ae3aae2bb5448baace630bb77b91f39 + ffi (1.17.4-arm-linux-gnu) sha256=d6dbddf7cb77bf955411af5f187a65b8cd378cb003c15c05697f5feee1cb1564 + ffi (1.17.4-arm-linux-musl) sha256=9d4838ded0465bef6e2426935f6bcc93134b6616785a84ffd2a3d82bc3cf6f95 + ffi (1.17.4-arm64-darwin) sha256=19071aaf1419251b0a46852abf960e77330a3b334d13a4ab51d58b31a937001b + ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d + ffi (1.17.4-x86_64-linux-musl) sha256=3fdf9888483de005f8ef8d1cf2d3b20d86626af206cbf780f6a6a12439a9c49e friendly_id (5.7.0) sha256=b8994416ebaceebc7c60bc556e84ef32a3a663e2e582eb04c429216cc98de4c4 fugit (1.13.0) sha256=a4f093fce740da52f216740a5041e2a594ea763cdb89e8b2754ca4399634ab18 globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427 @@ -694,6 +712,7 @@ CHECKSUMS rubocop-rails (2.36.0) sha256=105a5f5b0001ff2ef28a3af90da50862464e0775e8d0016d599079c0ca408bdb rubocop-rails-omakase (1.1.0) sha256=2af73ac8ee5852de2919abbd2618af9c15c19b512c4cfc1f9a5d3b6ef009109d ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 + ruby-vips (2.3.0) sha256=e685ec02c13969912debbd98019e50492e12989282da5f37d05f5471442f5374 securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 shoulda-matchers (7.0.1) sha256=b4bfd8744c10e0a36c8ac1a687f921ee7e25ed529e50488d61b79a8688749c77 snaky_hash (2.0.7) sha256=7d02c70012a3f932e48860cd024577908300c9aa615e0cb9b450aaa749cbcb4d From 6dedc3fde8e1c38b87e376fa4156e7c94396a6d5 Mon Sep 17 00:00:00 2001 From: Pete Cipollone Date: Sat, 8 Aug 2026 18:28:27 -0700 Subject: [PATCH 3/3] Fix libvips loading in CI --- .github/workflows/ci.yml | 4 ++-- Gemfile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ca26114..6cfe85a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,7 +86,7 @@ jobs: steps: - name: Install packages - run: sudo apt-get update && sudo apt-get install --no-install-recommends -y libpq-dev + run: sudo apt-get update && sudo apt-get install --no-install-recommends -y libpq-dev libvips - name: Checkout code uses: actions/checkout@v6 @@ -125,7 +125,7 @@ jobs: steps: - name: Install packages - run: sudo apt-get update && sudo apt-get install --no-install-recommends -y libpq-dev + run: sudo apt-get update && sudo apt-get install --no-install-recommends -y libpq-dev libvips - name: Checkout code uses: actions/checkout@v6 diff --git a/Gemfile b/Gemfile index 846fb4a..de223fd 100644 --- a/Gemfile +++ b/Gemfile @@ -19,7 +19,7 @@ gem "solid_cable" # Image variants (Active Storage) gem "image_processing", "~> 2.0" -gem "ruby-vips", "~> 2.0" +gem "ruby-vips", "~> 2.0", require: false # S3-compatible object storage (Active Storage → Hetzner Object Storage) gem "aws-sdk-s3", require: false