diff --git a/.github/workflows/specs.yml b/.github/workflows/specs.yml index 9e4814b..d88ba15 100644 --- a/.github/workflows/specs.yml +++ b/.github/workflows/specs.yml @@ -9,14 +9,19 @@ jobs: specs: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby-version: ['3.2', '3.3', '3.4'] + steps: - uses: actions/checkout@v5 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - # Reads the version from .ruby-version and installs the bundler - # pinned in Gemfile.lock (BUNDLED WITH). + # Installs the bundler pinned in Gemfile.lock (BUNDLED WITH). + ruby-version: ${{ matrix.ruby-version }} bundler-cache: true - name: Set up the test database diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..e86f3ae --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +ruby 3.4.9 diff --git a/Gemfile b/Gemfile index c6757ff..a8babd5 100644 --- a/Gemfile +++ b/Gemfile @@ -2,8 +2,6 @@ source 'https://rubygems.org' -ruby file: '.ruby-version' - gem 'bootsnap', require: false gem 'castle-rb', '~> 9.1' gem 'devise', '~> 5.0' diff --git a/Gemfile.lock b/Gemfile.lock index da54e3f..2562a52 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,29 +3,29 @@ GEM specs: action_text-trix (2.1.19) railties - actioncable (8.1.3) - actionpack (= 8.1.3) - activesupport (= 8.1.3) + actioncable (8.1.3.1) + actionpack (= 8.1.3.1) + activesupport (= 8.1.3.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (8.1.3) - actionpack (= 8.1.3) - activejob (= 8.1.3) - activerecord (= 8.1.3) - activestorage (= 8.1.3) - activesupport (= 8.1.3) + actionmailbox (8.1.3.1) + actionpack (= 8.1.3.1) + activejob (= 8.1.3.1) + activerecord (= 8.1.3.1) + activestorage (= 8.1.3.1) + activesupport (= 8.1.3.1) mail (>= 2.8.0) - actionmailer (8.1.3) - actionpack (= 8.1.3) - actionview (= 8.1.3) - activejob (= 8.1.3) - activesupport (= 8.1.3) + actionmailer (8.1.3.1) + actionpack (= 8.1.3.1) + actionview (= 8.1.3.1) + activejob (= 8.1.3.1) + activesupport (= 8.1.3.1) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (8.1.3) - actionview (= 8.1.3) - activesupport (= 8.1.3) + actionpack (8.1.3.1) + actionview (= 8.1.3.1) + activesupport (= 8.1.3.1) nokogiri (>= 1.8.5) rack (>= 2.2.4) rack-session (>= 1.0.1) @@ -33,36 +33,36 @@ GEM rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (8.1.3) + actiontext (8.1.3.1) action_text-trix (~> 2.1.15) - actionpack (= 8.1.3) - activerecord (= 8.1.3) - activestorage (= 8.1.3) - activesupport (= 8.1.3) + actionpack (= 8.1.3.1) + activerecord (= 8.1.3.1) + activestorage (= 8.1.3.1) + activesupport (= 8.1.3.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (8.1.3) - activesupport (= 8.1.3) + actionview (8.1.3.1) + activesupport (= 8.1.3.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - activejob (8.1.3) - activesupport (= 8.1.3) + activejob (8.1.3.1) + activesupport (= 8.1.3.1) globalid (>= 0.3.6) - activemodel (8.1.3) - activesupport (= 8.1.3) - activerecord (8.1.3) - activemodel (= 8.1.3) - activesupport (= 8.1.3) + activemodel (8.1.3.1) + activesupport (= 8.1.3.1) + activerecord (8.1.3.1) + activemodel (= 8.1.3.1) + activesupport (= 8.1.3.1) timeout (>= 0.4.0) - activestorage (8.1.3) - actionpack (= 8.1.3) - activejob (= 8.1.3) - activerecord (= 8.1.3) - activesupport (= 8.1.3) + activestorage (8.1.3.1) + actionpack (= 8.1.3.1) + activejob (= 8.1.3.1) + activerecord (= 8.1.3.1) + activesupport (= 8.1.3.1) marcel (~> 1.0) - activesupport (8.1.3) + activesupport (8.1.3.1) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) @@ -79,16 +79,16 @@ GEM bcrypt (3.1.22) bigdecimal (4.1.2) bindex (0.8.1) - bootsnap (1.24.6) - msgpack (~> 1.2) + bootsnap (1.26.0) + msgpack (~> 1.5) builder (3.3.0) byebug (13.0.0) reline (>= 0.6.0) castle-rb (9.1.0) base64 (~> 0.2) - concurrent-ruby (1.3.6) + concurrent-ruby (1.3.8) connection_pool (3.0.2) - crass (1.0.6) + crass (1.0.7) date (3.5.1) devise (5.0.4) bcrypt (~> 3.0) @@ -103,7 +103,7 @@ GEM dotenv (= 3.2.0) railties (>= 6.1) drb (2.2.3) - erb (6.0.4) + erb (6.0.7) erubi (1.13.1) factory_bot (6.6.0) activesupport (>= 6.1.0) @@ -112,7 +112,7 @@ GEM railties (>= 6.1.0) faker (3.8.0) i18n (>= 1.8.11, < 2) - globalid (1.3.0) + globalid (1.4.0) activesupport (>= 6.1) hamlit (4.0.0) temple (>= 0.8.2) @@ -123,20 +123,20 @@ GEM activesupport (>= 4.0.1) hamlit (>= 1.2.0) railties (>= 4.0.1) - i18n (1.14.8) + i18n (1.15.2) concurrent-ruby (~> 1.0) - io-console (0.8.2) + io-console (0.9.2) irb (1.18.0) pp (>= 0.6.0) prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - json (2.19.8) + json (2.21.2) logger (1.7.0) - loofah (2.25.1) + loofah (2.25.2) crass (~> 1.0.2) nokogiri (>= 1.12.0) - mail (2.9.0) + mail (2.9.1) logger mini_mime (>= 0.1.1) net-imap @@ -148,38 +148,38 @@ GEM minitest (6.0.6) drb (~> 2.0) prism (~> 1.5) - msgpack (1.8.3) - net-imap (0.6.4.1) + msgpack (1.8.4) + net-imap (0.6.6) date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.2.2) + net-protocol (0.3.0) timeout net-smtp (0.5.1) net-protocol nio4r (2.7.5) - nokogiri (1.19.3) + nokogiri (1.19.4) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.19.3-aarch64-linux-gnu) + nokogiri (1.19.4-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.19.3-arm64-darwin) + nokogiri (1.19.4-arm64-darwin) racc (~> 1.4) - nokogiri (1.19.3-x86_64-linux-gnu) + nokogiri (1.19.4-x86_64-linux-gnu) racc (~> 1.4) orm_adapter (0.5.0) - pp (0.6.3) + pp (0.6.4) prettyprint prettyprint (0.2.0) prism (1.9.0) - psych (5.4.0) + psych (5.5.0) date stringio puma (7.2.1) nio4r (~> 2.0) racc (1.8.1) - rack (3.2.6) + rack (3.2.7) rack-session (2.1.2) base64 (>= 0.1.0) rack (>= 3.0.0) @@ -187,20 +187,20 @@ GEM rack (>= 1.3) rackup (2.3.1) rack (>= 3) - rails (8.1.3) - actioncable (= 8.1.3) - actionmailbox (= 8.1.3) - actionmailer (= 8.1.3) - actionpack (= 8.1.3) - actiontext (= 8.1.3) - actionview (= 8.1.3) - activejob (= 8.1.3) - activemodel (= 8.1.3) - activerecord (= 8.1.3) - activestorage (= 8.1.3) - activesupport (= 8.1.3) + rails (8.1.3.1) + actioncable (= 8.1.3.1) + actionmailbox (= 8.1.3.1) + actionmailer (= 8.1.3.1) + actionpack (= 8.1.3.1) + actiontext (= 8.1.3.1) + actionview (= 8.1.3.1) + activejob (= 8.1.3.1) + activemodel (= 8.1.3.1) + activerecord (= 8.1.3.1) + activestorage (= 8.1.3.1) + activesupport (= 8.1.3.1) bundler (>= 1.15.0) - railties (= 8.1.3) + railties (= 8.1.3.1) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -209,12 +209,12 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.7.0) - loofah (~> 2.25) + rails-html-sanitizer (1.7.1) + loofah (~> 2.25, >= 2.25.2) 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) - railties (8.1.3) - actionpack (= 8.1.3) - activesupport (= 8.1.3) + railties (8.1.3.1) + actionpack (= 8.1.3.1) + activesupport (= 8.1.3.1) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -226,9 +226,9 @@ GEM erb psych (>= 4.0.0) tsort - reline (0.6.3) + reline (0.7.0) io-console (~> 0.5) - responders (3.2.0) + responders (3.2.1) actionpack (>= 7.0) railties (>= 7.0) rspec-core (3.13.6) @@ -258,19 +258,19 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.13.2) simplecov_json_formatter (0.1.4) - sprockets (4.2.2) - concurrent-ruby (~> 1.0) + sprockets (4.4.1) + concurrent-ruby (~> 1.1) logger rack (>= 2.2.4, < 4) sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - sqlite3 (2.9.5) + sqlite3 (2.9.6) mini_portile2 (~> 2.8.0) - sqlite3 (2.9.5-aarch64-linux-gnu) - sqlite3 (2.9.5-arm64-darwin) - sqlite3 (2.9.5-x86_64-linux-gnu) + sqlite3 (2.9.6-aarch64-linux-gnu) + sqlite3 (2.9.6-arm64-darwin) + sqlite3 (2.9.6-x86_64-linux-gnu) stringio (3.2.0) tailwindcss-rails (3.3.2) railties (>= 7.0.0) @@ -279,9 +279,9 @@ GEM tailwindcss-ruby (3.4.19-aarch64-linux) tailwindcss-ruby (3.4.19-arm64-darwin) tailwindcss-ruby (3.4.19-x86_64-linux) - temple (0.10.4) + temple (0.10.7) thor (1.5.0) - tilt (2.7.0) + tilt (2.9.0) timeout (0.6.1) tsort (0.2.0) tzinfo (2.0.6) @@ -294,11 +294,11 @@ GEM actionview (>= 8.0.0) bindex (>= 0.4.0) railties (>= 8.0.0) - websocket-driver (0.8.1) + websocket-driver (0.8.2) base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.8.2) + zeitwerk (2.8.3) PLATFORMS aarch64-linux @@ -327,8 +327,5 @@ DEPENDENCIES tailwindcss-rails (~> 3.3) web-console -RUBY VERSION - ruby 3.4.9p82 - BUNDLED WITH - 2.7.2 + 2.6.9 diff --git a/mise.toml b/mise.toml new file mode 100644 index 0000000..e9f19ed --- /dev/null +++ b/mise.toml @@ -0,0 +1,7 @@ +[tasks.install] +description = "Install Ruby gems" +run = "bundle install" + +[tasks.test] +description = "Run the RSpec suite" +run = "bundle exec rspec"