diff --git a/Gemfile b/Gemfile index 9ab91366..ffd9b798 100644 --- a/Gemfile +++ b/Gemfile @@ -10,6 +10,10 @@ gem "bootsnap", "~> 1.17", require: false gem "bootstrap", "~> 5.3.3" gem "dartsass-rails", "~> 0.5" gem "dotenv", "~> 3.1.2" +gem "faraday" +gem "faraday_middleware" +gem "faraday-multipart" +gem "faraday-retry" gem "fog-aws" gem "gems", github: "rubygems/gems" # TODO: use released version when > 1.2.0 is released gem "git", "~> 2.1" @@ -23,8 +27,8 @@ gem "propshaft", "~> 0.8" gem "pry-rails", "~> 0.3" gem "puma", "~> 6.4" gem "rails_bootstrap_navbar", "~> 3.0" -gem "rails-i18n", "~> 7.0" -gem "rails", "~> 7.1.3.4" +gem "rails", "~> 8.0.0" +gem "rails-i18n", "~> 8.0.0" gem "redis-namespace", "~> 1.11" gem "redis", "~> 5.0" gem "sentry-rails", "~> 5.5" diff --git a/Gemfile.lock b/Gemfile.lock index 45a5971b..8515dad4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,6 +9,7 @@ GIT revision: e8d0afe2773b9eb6a23c39e9e437f6fc0fc7c733 specs: net-pop (0.1.2) + net-protocol GIT remote: https://github.com/rubygems/gems.git @@ -19,80 +20,77 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (7.1.3.4) - actionpack (= 7.1.3.4) - activesupport (= 7.1.3.4) + actioncable (8.0.3) + actionpack (= 8.0.3) + activesupport (= 8.0.3) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.3.4) - actionpack (= 7.1.3.4) - activejob (= 7.1.3.4) - activerecord (= 7.1.3.4) - activestorage (= 7.1.3.4) - activesupport (= 7.1.3.4) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.1.3.4) - actionpack (= 7.1.3.4) - actionview (= 7.1.3.4) - activejob (= 7.1.3.4) - activesupport (= 7.1.3.4) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp + actionmailbox (8.0.3) + actionpack (= 8.0.3) + activejob (= 8.0.3) + activerecord (= 8.0.3) + activestorage (= 8.0.3) + activesupport (= 8.0.3) + mail (>= 2.8.0) + actionmailer (8.0.3) + actionpack (= 8.0.3) + actionview (= 8.0.3) + activejob (= 8.0.3) + activesupport (= 8.0.3) + mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (7.1.3.4) - actionview (= 7.1.3.4) - activesupport (= 7.1.3.4) + actionpack (8.0.3) + actionview (= 8.0.3) + activesupport (= 8.0.3) 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.3.4) - actionpack (= 7.1.3.4) - activerecord (= 7.1.3.4) - activestorage (= 7.1.3.4) - activesupport (= 7.1.3.4) + useragent (~> 0.16) + actiontext (8.0.3) + actionpack (= 8.0.3) + activerecord (= 8.0.3) + activestorage (= 8.0.3) + activesupport (= 8.0.3) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.3.4) - activesupport (= 7.1.3.4) + actionview (8.0.3) + activesupport (= 8.0.3) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (7.1.3.4) - activesupport (= 7.1.3.4) + activejob (8.0.3) + activesupport (= 8.0.3) globalid (>= 0.3.6) - activemodel (7.1.3.4) - activesupport (= 7.1.3.4) - activerecord (7.1.3.4) - activemodel (= 7.1.3.4) - activesupport (= 7.1.3.4) + activemodel (8.0.3) + activesupport (= 8.0.3) + activerecord (8.0.3) + activemodel (= 8.0.3) + activesupport (= 8.0.3) timeout (>= 0.4.0) - activestorage (7.1.3.4) - actionpack (= 7.1.3.4) - activejob (= 7.1.3.4) - activerecord (= 7.1.3.4) - activesupport (= 7.1.3.4) + activestorage (8.0.3) + actionpack (= 8.0.3) + activejob (= 8.0.3) + activerecord (= 8.0.3) + activesupport (= 8.0.3) marcel (~> 1.0) - activesupport (7.1.3.4) + activesupport (8.0.3) base64 + benchmark (>= 0.3) bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) + concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) amazing_print (1.6.0) @@ -117,11 +115,12 @@ GEM aws-sigv4 (1.9.0) aws-eventstream (~> 1, >= 1.0.2) base64 (0.2.0) + benchmark (0.4.1) better_errors (2.10.1) erubi (>= 1.0.0) rack (>= 0.9.0) rouge (>= 1.0.0) - bigdecimal (3.1.8) + bigdecimal (3.3.1) binding_of_caller (1.0.1) debug_inspector (>= 1.2.0) bootsnap (1.18.3) @@ -137,8 +136,8 @@ GEM json simplecov coderay (1.1.3) - concurrent-ruby (1.3.3) - connection_pool (2.4.1) + concurrent-ruby (1.3.5) + connection_pool (2.5.4) crack (1.0.0) bigdecimal rexml @@ -150,13 +149,14 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - date (3.3.4) + date (3.4.1) debug_inspector (1.2.0) diff-lcs (1.5.1) docile (1.4.1) dotenv (3.1.2) - drb (2.2.1) - erubi (1.13.0) + drb (2.2.3) + erb (5.1.1) + erubi (1.13.1) et-orbi (1.2.11) tzinfo excon (1.1.1) @@ -166,11 +166,31 @@ GEM factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faraday (2.10.0) - faraday-net_http (>= 2.0, < 3.2) - logger - faraday-net_http (3.1.0) - net-http + faraday (1.10.4) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.1) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.1.1) + multipart-post (~> 2.0) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.1) + faraday (~> 1.0) fog-aws (3.29.0) base64 (~> 0.2.0) fog-core (~> 2.6) @@ -197,7 +217,7 @@ GEM addressable (~> 2.8) process_executer (~> 1.1) rchardet (~> 1.8) - globalid (1.2.1) + globalid (1.3.0) activesupport (>= 6.1) google-protobuf (4.27.2-arm64-darwin) bigdecimal @@ -210,14 +230,15 @@ GEM thor tilt hashdiff (1.1.1) - i18n (1.14.5) + i18n (1.14.7) concurrent-ruby (~> 1.0) importmap-rails (2.0.1) actionpack (>= 6.0.0) activesupport (>= 6.0.0) railties (>= 6.0.0) - io-console (0.7.2) - irb (1.14.0) + io-console (0.8.1) + irb (1.15.2) + pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) jmespath (1.6.2) @@ -227,7 +248,7 @@ GEM activesupport (>= 6.0.0) redis (>= 4.2, < 6) logger (1.6.0) - loofah (2.22.0) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -235,37 +256,38 @@ GEM net-imap net-pop net-smtp - marcel (1.0.4) + marcel (1.1.0) method_source (1.1.0) mime-types (3.6.0) logger mime-types-data (~> 3.2015) mime-types-data (3.2024.1001) mini_mime (1.1.5) - minitest (5.24.1) + minitest (5.26.0) msgpack (1.7.2) multi_json (1.15.0) - mutex_m (0.2.0) - net-http (0.4.1) - uri - net-imap (0.4.14) + multipart-post (2.4.1) + net-imap (0.5.12) date net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol - nio4r (2.7.3) - nokogiri (1.16.7-arm64-darwin) + nio4r (2.7.4) + nokogiri (1.18.10-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) + nokogiri (1.18.10-x86_64-linux-gnu) racc (~> 1.4) - octokit (9.1.0) + octokit (9.2.0) faraday (>= 1, < 3) sawyer (~> 0.9) octopoller (0.3.1) pg (1.5.6) popper_js (2.11.8) + pp (0.6.3) + prettyprint + prettyprint (0.2.0) process_executer (1.1.0) propshaft (0.9.0) actionpack (>= 7.0.0) @@ -277,71 +299,75 @@ GEM method_source (~> 1.0) pry-rails (0.3.11) pry (>= 0.13.0) - psych (5.1.2) + psych (5.2.6) + date stringio public_suffix (6.0.1) puma (6.4.2) nio4r (~> 2.0) raabro (1.4.0) - racc (1.8.0) - rack (3.1.7) - rack-session (2.0.0) + racc (1.8.1) + rack (3.2.3) + rack-session (2.1.1) + base64 (>= 0.1.0) rack (>= 3.0.0) - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) - rackup (2.1.0) + rackup (2.2.1) rack (>= 3) - webrick (~> 1.8) - rails (7.1.3.4) - actioncable (= 7.1.3.4) - actionmailbox (= 7.1.3.4) - actionmailer (= 7.1.3.4) - actionpack (= 7.1.3.4) - actiontext (= 7.1.3.4) - actionview (= 7.1.3.4) - activejob (= 7.1.3.4) - activemodel (= 7.1.3.4) - activerecord (= 7.1.3.4) - activestorage (= 7.1.3.4) - activesupport (= 7.1.3.4) + rails (8.0.3) + actioncable (= 8.0.3) + actionmailbox (= 8.0.3) + actionmailer (= 8.0.3) + actionpack (= 8.0.3) + actiontext (= 8.0.3) + actionview (= 8.0.3) + activejob (= 8.0.3) + activemodel (= 8.0.3) + activerecord (= 8.0.3) + activestorage (= 8.0.3) + activesupport (= 8.0.3) bundler (>= 1.15.0) - railties (= 7.1.3.4) + railties (= 8.0.3) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) activesupport (>= 5.0.1.rc1) - rails-dom-testing (2.2.0) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - rails-i18n (7.0.9) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + rails-i18n (8.0.2) i18n (>= 0.7, < 2) - railties (>= 6.0.0, < 8) + railties (>= 8.0.0, < 9) rails_bootstrap_navbar (3.0.0) bootstrap-navbar (~> 3.0) rails (>= 3.0.0) - railties (7.1.3.4) - actionpack (= 7.1.3.4) - activesupport (= 7.1.3.4) - irb + railties (8.0.3) + actionpack (= 8.0.3) + activesupport (= 8.0.3) + irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) thor (~> 1.0, >= 1.2.2) + tsort (>= 0.2) zeitwerk (~> 2.6) - rake (13.2.1) + rake (13.3.0) rchardet (1.8.0) - rdoc (6.7.0) + rdoc (6.15.0) + erb psych (>= 4.0.0) + tsort redis (5.2.0) redis-client (>= 0.22.0) redis-client (0.22.2) connection_pool redis-namespace (1.11.0) redis (>= 4) - reline (0.5.9) + reline (0.6.2) io-console (~> 0.5) rexml (3.3.7) rouge (4.3.0) @@ -362,6 +388,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) + ruby2_keywords (0.0.5) rufus-scheduler (3.9.1) fugit (~> 1.1, >= 1.1.6) sass-embedded (1.77.8-arm64-darwin) @@ -371,6 +398,7 @@ GEM sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) + securerandom (0.4.1) sentry-rails (5.18.2) railties (>= 5.0) sentry-ruby (~> 5.18.2) @@ -404,13 +432,14 @@ GEM builder (~> 3.0) stimulus-rails (1.3.3) railties (>= 6.0.0) - stringio (3.1.1) + stringio (3.1.7) temple (0.10.3) terminal-table (4.0.0) unicode-display_width (>= 1.1.1, < 4) - thor (1.3.1) + thor (1.4.0) tilt (2.4.0) - timeout (0.4.1) + timeout (0.4.3) + tsort (0.2.0) turbo-rails (2.0.6) actionpack (>= 6.0.0) activejob (>= 6.0.0) @@ -420,18 +449,19 @@ GEM unicode-display_width (3.1.4) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) - uri (0.13.0) + uri (1.0.4) + useragent (0.16.11) vcr (6.3.1) base64 webmock (3.23.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - webrick (1.8.1) - websocket-driver (0.7.6) + websocket-driver (0.8.0) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.6.17) + zeitwerk (2.7.3) PLATFORMS arm64-darwin-23 @@ -452,6 +482,10 @@ DEPENDENCIES database_cleaner-active_record dotenv (~> 3.1.2) factory_bot_rails (~> 6.2) + faraday + faraday-multipart + faraday-retry + faraday_middleware fog-aws gems! git (~> 2.1) @@ -465,9 +499,9 @@ DEPENDENCIES propshaft (~> 0.8) pry-rails (~> 0.3) puma (~> 6.4) - rails (~> 7.1.3.4) + rails (~> 8.0) rails-controller-testing - rails-i18n (~> 7.0) + rails-i18n (~> 8.0) rails_bootstrap_navbar (~> 3.0) redis (~> 5.0) redis-namespace (~> 1.11) diff --git a/app/models/compat.rb b/app/models/compat.rb index ee737306..852a9e7b 100644 --- a/app/models/compat.rb +++ b/app/models/compat.rb @@ -1,12 +1,12 @@ class Compat < ApplicationRecord include HasTimestamps[:checked_at] - enum status: %i( - pending - compatible - incompatible - inconclusive - ) + enum :status, [ + :pending, + :compatible, + :incompatible, + :inconclusive + ] belongs_to :rails_release diff --git a/bin/setup b/bin/setup index b02c6cdb..a9b2c1d0 100755 --- a/bin/setup +++ b/bin/setup @@ -17,9 +17,6 @@ FileUtils.chdir APP_ROOT do system! "gem install bundler --conservative" system!("bundle check") || system!("bundle install") - # Install JavaScript dependencies - system!("yarn install") - puts "\n== Copying sample files ==" unless File.exist?("config/database.yml") FileUtils.cp "config/database.yml.sample", "config/database.yml" diff --git a/config/application.rb b/config/application.rb index 9417c752..d01c09ee 100644 --- a/config/application.rb +++ b/config/application.rb @@ -28,7 +28,6 @@ class Application < Rails::Application # end.presence or raise "Could not load revision." config.active_record.query_log_tags_enabled = true - config.active_record.sqlite3_production_warning = false config.assets.excluded_paths.concat [ Rails.root.join("app", "assets", "stylesheets") @@ -43,12 +42,5 @@ class Application < Rails::Application host: ENV.fetch("HOST"), protocol: "https" } - - if Rails.version >= "7.2" - raise "this is not needed anymore, yjit should be enabled by default in rails 7.2." - end - # config.after_initialize do - # RubyVM::YJIT.enable - # end end end diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index f270af4d..00000000 --- a/yarn.lock +++ /dev/null @@ -1,8 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -yarn@^1.22.10: - version "1.22.22" - resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.22.tgz#ac34549e6aa8e7ead463a7407e1c7390f61a6610" - integrity sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==