diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad33055b..b7ce12ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2 + ruby-version: 3.3 bundler-cache: true - uses: actions/setup-node@v4 with: diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 38e3f721..7c3bdce8 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2 + ruby-version: 3.3 bundler-cache: true - name: Deploy to demo run: bundle exec kamal deploy -P --version=edge diff --git a/.ruby-version b/.ruby-version index be94e6f5..bea438e9 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.2.2 +3.3.1 diff --git a/Dockerfile b/Dockerfile index bae393a5..b1fbc52c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM node:20.11.0-alpine AS node -FROM ruby:3.2.2-alpine AS base +FROM ruby:3.3.1-alpine AS base FROM base AS builder ENV RAILS_ENV production diff --git a/Gemfile b/Gemfile index 5343f70c..8099ba53 100644 --- a/Gemfile +++ b/Gemfile @@ -50,7 +50,7 @@ gem "pagy", "~> 6.0.0" gem "image_processing", "~> 1.12" # For API request -gem "httparty", "~> 0.21.0" +gem "httparty", "~> 0.22.0" # For browser detection gem "browser", "~> 5.3.1" @@ -96,7 +96,7 @@ group :development do end group :test do - gem "capybara", "~> 3.39.0" + gem "capybara", "~> 3.40.0" gem "cuprite", "~> 0.14.3" gem "webmock", "~> 3.18.0", require: false gem "simplecov", "~> 0.22.0", require: false diff --git a/Gemfile.lock b/Gemfile.lock index 42cbb1b1..0d79832e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,73 +1,74 @@ GEM remote: https://rubygems.org/ specs: - actioncable (7.1.1) - actionpack (= 7.1.1) - activesupport (= 7.1.1) + actioncable (7.1.3.2) + actionpack (= 7.1.3.2) + activesupport (= 7.1.3.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.1) - actionpack (= 7.1.1) - activejob (= 7.1.1) - activerecord (= 7.1.1) - activestorage (= 7.1.1) - activesupport (= 7.1.1) + actionmailbox (7.1.3.2) + actionpack (= 7.1.3.2) + activejob (= 7.1.3.2) + activerecord (= 7.1.3.2) + activestorage (= 7.1.3.2) + activesupport (= 7.1.3.2) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.1) - actionpack (= 7.1.1) - actionview (= 7.1.1) - activejob (= 7.1.1) - activesupport (= 7.1.1) + actionmailer (7.1.3.2) + actionpack (= 7.1.3.2) + actionview (= 7.1.3.2) + activejob (= 7.1.3.2) + activesupport (= 7.1.3.2) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.1) - actionview (= 7.1.1) - activesupport (= 7.1.1) + actionpack (7.1.3.2) + actionview (= 7.1.3.2) + activesupport (= 7.1.3.2) nokogiri (>= 1.8.5) + racc rack (>= 2.2.4) rack-session (>= 1.0.1) rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.1) - actionpack (= 7.1.1) - activerecord (= 7.1.1) - activestorage (= 7.1.1) - activesupport (= 7.1.1) + actiontext (7.1.3.2) + actionpack (= 7.1.3.2) + activerecord (= 7.1.3.2) + activestorage (= 7.1.3.2) + activesupport (= 7.1.3.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.1) - activesupport (= 7.1.1) + actionview (7.1.3.2) + activesupport (= 7.1.3.2) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.1.1) - activesupport (= 7.1.1) + activejob (7.1.3.2) + activesupport (= 7.1.3.2) globalid (>= 0.3.6) - activemodel (7.1.1) - activesupport (= 7.1.1) - activerecord (7.1.1) - activemodel (= 7.1.1) - activesupport (= 7.1.1) + activemodel (7.1.3.2) + activesupport (= 7.1.3.2) + activerecord (7.1.3.2) + activemodel (= 7.1.3.2) + activesupport (= 7.1.3.2) timeout (>= 0.4.0) activerecord-enhancedsqlite3-adapter (0.7.0) activerecord (>= 7.1) sqlite3 (>= 1.6) - activestorage (7.1.1) - actionpack (= 7.1.1) - activejob (= 7.1.1) - activerecord (= 7.1.1) - activesupport (= 7.1.1) + activestorage (7.1.3.2) + actionpack (= 7.1.3.2) + activejob (= 7.1.3.2) + activerecord (= 7.1.3.2) + activesupport (= 7.1.3.2) marcel (~> 1.0) - activesupport (7.1.1) + activesupport (7.1.3.2) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -79,56 +80,57 @@ GEM tzinfo (~> 2.0) acts_as_list (1.1.0) activerecord (>= 4.2) - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) base64 (0.2.0) - bcrypt (3.1.19) + bcrypt (3.1.20) bcrypt_pbkdf (1.1.0) - better_html (2.0.2) + better_html (2.1.1) actionview (>= 6.0) activesupport (>= 6.0) ast (~> 2.0) erubi (~> 1.4) parser (>= 2.4) smart_properties - bigdecimal (3.1.4) + bigdecimal (3.1.8) bindex (0.8.1) - bootsnap (1.17.0) + bootsnap (1.17.1) msgpack (~> 1.2) browser (5.3.1) builder (3.2.4) - bullet (7.1.2) + bullet (7.1.6) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) - capybara (3.39.2) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) connection_pool (2.4.1) - crack (0.4.5) + crack (1.0.0) + bigdecimal rexml crass (1.0.6) cssbundling-rails (1.4.0) railties (>= 6.0.0) + csv (3.3.0) cuprite (0.14.3) capybara (~> 3.0) ferrum (~> 0.13.0) daemons (1.4.1) - date (3.3.3) + date (3.3.4) debug (1.9.2) irb (~> 1.10) reline (>= 0.3.8) docile (1.4.0) dotenv (2.8.1) - drb (2.1.1) - ruby2_keywords + drb (2.2.1) ed25519 (1.3.0) erb_lint (0.4.0) activesupport @@ -150,28 +152,29 @@ GEM hanami-utils (~> 0.7) http_router (~> 0.11) hanami-utils (0.9.2) - hashdiff (1.0.1) + hashdiff (1.1.0) http_router (0.11.2) rack (>= 1.0.0) url_mount (~> 0.2.1) - httparty (0.21.0) + httparty (0.22.0) + csv mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) - i18n (1.14.1) + i18n (1.14.5) concurrent-ruby (~> 1.0) image_processing (1.12.2) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) io-console (0.7.2) - irb (1.12.0) - rdoc + irb (1.13.1) + rdoc (>= 4.0.0) reline (>= 0.4.2) jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) jsbundling-rails (1.3.0) railties (>= 6.0.0) - json (2.6.3) + json (2.7.2) kamal (1.4.0) activesupport (>= 7.0) base64 (~> 0.2) @@ -188,14 +191,14 @@ GEM listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - litestack (0.4.2) + litestack (0.4.3) erubi hanami-router oj rack sqlite3 tilt - loofah (2.21.4) + loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -203,42 +206,43 @@ GEM net-imap net-pop net-smtp - marcel (1.0.2) + marcel (1.0.4) matrix (0.4.2) memory_profiler (0.9.14) mini_magick (4.12.0) mini_mime (1.1.5) - mini_portile2 (2.8.5) - minitest (5.20.0) + mini_portile2 (2.8.6) + minitest (5.22.3) msgpack (1.7.2) - multi_xml (0.6.0) - mutex_m (0.1.2) - net-imap (0.4.3) + multi_xml (0.7.1) + bigdecimal (~> 3.1) + mutex_m (0.2.0) + net-imap (0.4.10) date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.2.1) + net-protocol (0.2.2) timeout net-scp (4.0.0) net-ssh (>= 2.6.5, < 8.0.0) net-sftp (4.0.0) net-ssh (>= 5.0.0, < 8.0.0) - net-smtp (0.4.0) + net-smtp (0.5.0) net-protocol net-ssh (7.2.3) - nio4r (2.5.9) - nokogiri (1.15.4) + nio4r (2.7.3) + nokogiri (1.16.4) mini_portile2 (~> 2.8.2) racc (~> 1.4) oj (3.16.3) bigdecimal (>= 3.0) pagy (6.0.4) - parallel (1.23.0) - parser (3.2.2.4) + parallel (1.24.0) + parser (3.3.1.0) ast (~> 2.4.1) racc - pg (1.5.4) + pg (1.5.6) propshaft (0.7.0) actionpack (>= 7.0.0) activesupport (>= 7.0.0) @@ -246,11 +250,11 @@ GEM railties (>= 7.0.0) psych (5.1.2) stringio - public_suffix (5.0.3) - puma (6.4.0) + public_suffix (5.0.5) + puma (6.4.2) nio4r (~> 2.0) - racc (1.7.1) - rack (3.0.8) + racc (1.7.3) + rack (3.0.10) rack-session (2.0.0) rack (>= 3.0.0) rack-test (2.1.0) @@ -258,20 +262,20 @@ GEM rackup (2.1.0) rack (>= 3) webrick (~> 1.8) - rails (7.1.1) - actioncable (= 7.1.1) - actionmailbox (= 7.1.1) - actionmailer (= 7.1.1) - actionpack (= 7.1.1) - actiontext (= 7.1.1) - actionview (= 7.1.1) - activejob (= 7.1.1) - activemodel (= 7.1.1) - activerecord (= 7.1.1) - activestorage (= 7.1.1) - activesupport (= 7.1.1) + rails (7.1.3.2) + actioncable (= 7.1.3.2) + actionmailbox (= 7.1.3.2) + actionmailer (= 7.1.3.2) + actionpack (= 7.1.3.2) + actiontext (= 7.1.3.2) + actionview (= 7.1.3.2) + activejob (= 7.1.3.2) + activemodel (= 7.1.3.2) + activerecord (= 7.1.3.2) + activestorage (= 7.1.3.2) + activesupport (= 7.1.3.2) bundler (>= 1.15.0) - railties (= 7.1.1) + railties (= 7.1.3.2) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -279,16 +283,16 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (7.1.1) - actionpack (= 7.1.1) - activesupport (= 7.1.1) + railties (7.1.3.2) + actionpack (= 7.1.3.2) + activesupport (= 7.1.3.2) irb rackup (>= 1.0.0) rake (>= 12.2) thor (~> 1.0, >= 1.2.2) zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.1.0) + rake (13.2.1) ransack (4.1.1) activerecord (>= 6.1.5) activesupport (>= 6.1.5) @@ -298,8 +302,8 @@ GEM ffi (~> 1.0) rdoc (6.6.3.1) psych (>= 4.0.0) - regexp_parser (2.8.2) - reline (0.5.0) + regexp_parser (2.9.0) + reline (0.5.5) io-console (~> 0.5) rexml (3.2.6) rubocop (1.48.1) @@ -312,19 +316,19 @@ GEM rubocop-ast (>= 1.26.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.30.0) - parser (>= 3.2.1.0) + rubocop-ast (1.31.3) + parser (>= 3.3.1.0) rubocop-performance (1.16.0) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rails (2.20.2) + rubocop-rails (2.23.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) ruby-progressbar (1.13.0) - ruby-vips (2.2.0) + ruby-vips (2.2.1) ffi (~> 1.12) - ruby2_keywords (0.0.5) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -337,11 +341,11 @@ GEM activejob (>= 7) activerecord (>= 7) railties (>= 7) - solid_queue (0.2.1) + solid_queue (0.2.2) rails (~> 7.1) sqlite3 (1.7.3) mini_portile2 (~> 2.8.0) - sshkit (1.22.1) + sshkit (1.22.2) base64 mutex_m net-scp (>= 1.1.2) @@ -351,15 +355,15 @@ GEM language_server-protocol (~> 3.17.0.2) rubocop (~> 1.48.1) rubocop-performance (~> 1.16.0) - standard-rails (0.2.0) + standard-rails (1.0.2) lint_roller (~> 1.0) - rubocop-rails (~> 2.20.2) + rubocop-rails (~> 2.23.1) stimulus-rails (1.2.2) railties (>= 6.0.0) stringio (3.1.0) - thor (1.3.0) + thor (1.3.1) tilt (2.3.0) - timeout (0.4.0) + timeout (0.4.1) turbo-rails (1.5.0) actionpack (>= 6.0.0) activejob (>= 6.0.0) @@ -386,7 +390,7 @@ GEM websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.12) + zeitwerk (2.6.13) PLATFORMS ruby @@ -398,13 +402,13 @@ DEPENDENCIES bootsnap (~> 1.17.0) browser (~> 5.3.1) bullet (~> 7.1.0) - capybara (~> 3.39.0) + capybara (~> 3.40.0) cssbundling-rails (~> 1.4.0) cuprite (~> 0.14.3) daemons (~> 1.4.0) debug erb_lint (~> 0.4.0) - httparty (~> 0.21.0) + httparty (~> 0.22.0) image_processing (~> 1.12) jbuilder (~> 2.11.5) jsbundling-rails (~> 1.3.0) @@ -433,4 +437,4 @@ DEPENDENCIES webmock (~> 3.18.0) BUNDLED WITH - 2.4.10 + 2.5.9 diff --git a/README.md b/README.md index 5e872c42..156fd2be 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ $ docker pull ghcr.io/blackcandy-org/blackcandy:edge ### Requirements -- Ruby 3.2 +- Ruby 3.3 - Node.js 20 - libvips - FFmpeg