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 b417d8a..de223fd 100644 --- a/Gemfile +++ b/Gemfile @@ -18,7 +18,8 @@ gem "solid_queue" gem "solid_cable" # Image variants (Active Storage) -gem "image_processing", "~> 1.2" +gem "image_processing", "~> 2.0" +gem "ruby-vips", "~> 2.0", require: false # 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..e399204 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -183,14 +183,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 +236,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) @@ -531,7 +527,7 @@ DEPENDENCIES factory_bot_rails friendly_id (~> 5.7) icalendar - image_processing (~> 1.2) + image_processing (~> 2.0) importmap-rails jbuilder kamal @@ -545,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 @@ -624,9 +621,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 +641,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