diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index ef3eb44..264068e 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1 +1,5 @@ -FROM mcr.microsoft.com/devcontainers/ruby:3.1 +FROM mcr.microsoft.com/devcontainers/ruby:3.3 +# Remove stale Yarn apt config baked into older base images — uses deprecated apt-key method +# that Ubuntu 24.04 rejects, causing devcontainer feature installs (docker-in-docker) to fail. +RUN rm -f /etc/apt/sources.list.d/yarn.list && \ + apt-key del 62D54FD4003F6525 2>/dev/null || true diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f4ce38b..f14a038 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ }, "features": { "ghcr.io/devcontainers/features/node:latest": {}, - "ghcr.io/devcontainers/features/docker-in-docker:latest": {}, + "ghcr.io/devcontainers/features/docker-in-docker:latest": { "moby": false }, "ghcr.io/devcontainers/features/sshd:latest": {} }, "customizations": { diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 48fa043..b8ba4b6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,7 +3,7 @@ on: [push] jobs: image: name: Image - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 - uses: docker/login-action@v2 @@ -18,7 +18,7 @@ jobs: cacheFrom: ghcr.io/rails-lambda/lamby-devcontainer runCmd: echo DONE! test: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 needs: image steps: - name: Checkout diff --git a/Gemfile b/Gemfile index e575e2e..91b115b 100644 --- a/Gemfile +++ b/Gemfile @@ -2,9 +2,9 @@ source "https://rubygems.org" git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } gemspec -gem 'rails', '7.1.3.4' -gem 'mocha', '~> 2.4' -gem 'rack', "~> 3.1", ">= 3.1.7" +gem 'rails', '~> 8.1' +gem 'mocha', '~> 3.1' +gem 'rack', "~> 3.2" group :test do gem 'lambdakiq' diff --git a/Gemfile.lock b/Gemfile.lock index e9a33ff..509f12d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,213 +8,237 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.1.3.4) - actionpack (= 7.1.3.4) - activesupport (= 7.1.3.4) + action_text-trix (2.1.19) + railties + actioncable (8.1.3) + actionpack (= 8.1.3) + activesupport (= 8.1.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.1.3) + actionpack (= 8.1.3) + activejob (= 8.1.3) + activerecord (= 8.1.3) + activestorage (= 8.1.3) + activesupport (= 8.1.3) + mail (>= 2.8.0) + actionmailer (8.1.3) + actionpack (= 8.1.3) + actionview (= 8.1.3) + activejob (= 8.1.3) + activesupport (= 8.1.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.1.3) + actionview (= 8.1.3) + activesupport (= 8.1.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.1.3) + action_text-trix (~> 2.1.15) + actionpack (= 8.1.3) + activerecord (= 8.1.3) + activestorage (= 8.1.3) + activesupport (= 8.1.3) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.3.4) - activesupport (= 7.1.3.4) + actionview (8.1.3) + activesupport (= 8.1.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.1.3) + activesupport (= 8.1.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.1.3) + activesupport (= 8.1.3) + activerecord (8.1.3) + activemodel (= 8.1.3) + activesupport (= 8.1.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.1.3) + actionpack (= 8.1.3) + activejob (= 8.1.3) + activerecord (= 8.1.3) + activesupport (= 8.1.3) marcel (~> 1.0) - activesupport (7.1.3.4) + activesupport (8.1.3) base64 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) + json + logger (>= 1.4.2) minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - aws-eventstream (1.3.0) - aws-partitions (1.956.0) - aws-sdk-core (3.201.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + aws-eventstream (1.4.0) + aws-partitions (1.1257.0) + aws-sdk-core (3.251.0) aws-eventstream (~> 1, >= 1.3.0) - aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.8) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) + base64 + bigdecimal jmespath (~> 1, >= 1.6.1) - aws-sdk-sqs (1.80.0) - aws-sdk-core (~> 3, >= 3.201.0) + logger + aws-sdk-sqs (1.116.0) + aws-sdk-core (~> 3, >= 3.248.0) aws-sigv4 (~> 1.5) - aws-sdk-ssm (1.150.0) - aws-sdk-core (~> 3, >= 3.165.0) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.8.0) + aws-sdk-ssm (1.216.0) + aws-sdk-core (~> 3, >= 3.248.0) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.12.1) aws-eventstream (~> 1, >= 1.0.2) - base64 (0.2.0) - bigdecimal (3.1.8) + base64 (0.3.0) + bigdecimal (4.1.2) builder (3.3.0) coderay (1.1.3) - concurrent-ruby (1.3.3) - connection_pool (2.4.1) + concurrent-ruby (1.3.6) + connection_pool (3.0.2) crass (1.0.6) - date (3.3.4) - drb (2.2.1) - erubi (1.13.0) - globalid (1.2.1) + date (3.5.1) + drb (2.2.3) + erb (6.0.4) + erubi (1.13.1) + globalid (1.3.0) activesupport (>= 6.1) - i18n (1.14.5) + i18n (1.14.8) concurrent-ruby (~> 1.0) - io-console (0.7.2) - irb (1.14.0) + io-console (0.8.2) + irb (1.18.0) + pp (>= 0.6.0) + prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) jmespath (1.6.2) + json (2.19.8) lambda-console-ruby (1.0.0) - lambdakiq (2.2.0) + lambdakiq (2.3.0) activejob aws-sdk-sqs concurrent-ruby railties - loofah (2.22.0) + logger (1.7.0) + loofah (2.25.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) - mail (2.8.1) + mail (2.9.0) + logger mini_mime (>= 0.1.1) net-imap net-pop net-smtp - marcel (1.0.4) - method_source (1.0.0) + marcel (1.2.1) + method_source (1.1.0) mini_mime (1.1.5) - minitest (5.24.1) - minitest-focus (1.3.1) - minitest (>= 4, < 6) - mocha (2.4.0) + minitest (6.0.6) + drb (~> 2.0) + prism (~> 1.5) + minitest-focus (1.4.1) + minitest (> 5.0) + mocha (3.1.0) ruby2_keywords (>= 0.0.5) - mutex_m (0.2.0) - net-imap (0.4.14) + net-imap (0.6.4) date net-protocol net-pop (0.1.2) 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.6-aarch64-linux) + nio4r (2.7.5) + nokogiri (1.19.3-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.16.6-arm64-darwin) + nokogiri (1.19.3-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.6-x86_64-linux) + nokogiri (1.19.3-x86_64-linux-gnu) racc (~> 1.4) - pry (0.14.2) + pp (0.6.3) + prettyprint + prettyprint (0.2.0) + prism (1.9.0) + pry (0.16.0) coderay (~> 1.1) method_source (~> 1.0) - psych (5.1.2) + reline (>= 0.6.0) + psych (5.4.0) + date stringio - racc (1.8.0) - rack (3.1.7) - rack-session (2.0.0) + racc (1.8.1) + rack (3.2.6) + rack-session (2.1.2) + 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.3.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.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) bundler (>= 1.15.0) - railties (= 7.1.3.4) - rails-dom-testing (2.2.0) + railties (= 8.1.3) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) - loofah (~> 2.21) - nokogiri (~> 1.14) - railties (7.1.3.4) - actionpack (= 7.1.3.4) - activesupport (= 7.1.3.4) - irb + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) + 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) + 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) - rdoc (6.7.0) + rake (13.4.2) + rdoc (7.2.0) + erb psych (>= 4.0.0) - reline (0.5.9) + tsort + reline (0.6.3) io-console (~> 0.5) ruby2_keywords (0.0.5) - stringio (3.1.1) - thor (1.3.1) - timecop (0.9.6) - timeout (0.4.1) + securerandom (0.4.1) + stringio (3.2.0) + thor (1.5.0) + timecop (0.9.11) + timeout (0.6.1) + tsort (0.2.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - webrick (1.8.1) - websocket-driver (0.7.6) + uri (1.1.1) + useragent (0.16.11) + webrick (1.9.2) + websocket-driver (0.8.1) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.6.16) + zeitwerk (2.8.2) PLATFORMS aarch64-linux @@ -230,10 +254,10 @@ DEPENDENCIES lamby! minitest minitest-focus - mocha (~> 2.4) + mocha (~> 3.1) pry - rack (~> 3.1, >= 3.1.7) - rails (= 7.1.3.4) + rack (~> 3.2) + rails (~> 8.1) rake timecop webrick diff --git a/lib/lamby.rb b/lib/lamby.rb index ac56373..9a67bdc 100644 --- a/lib/lamby.rb +++ b/lib/lamby.rb @@ -44,10 +44,10 @@ def config # Add signal traps for clean exit Signal.trap("TERM") do puts "Received SIGTERM, exiting gracefully..." - exit!(0) # exit! ensures no exception is raised + exit(0) end Signal.trap("INT") do puts "Received SIGINT, exiting gracefully..." - exit!(0) # exit! ensures no exception is raised + exit(0) end \ No newline at end of file diff --git a/lib/lamby/version.rb b/lib/lamby/version.rb index 8bf3ad1..c1d63af 100644 --- a/lib/lamby/version.rb +++ b/lib/lamby/version.rb @@ -1,3 +1,3 @@ module Lamby - VERSION = '6.0.1' + VERSION = '7.0.0' end