Upgrade to Ruby 3.2 (#22928)
Co-authored-by: Matthew Ford <matt@bitzesty.com>
This commit is contained in:
		@@ -46,7 +46,7 @@ commands:
 | 
			
		||||
          name: Set bundler settings
 | 
			
		||||
      - ruby/install-deps:
 | 
			
		||||
          bundler-version: '2.3.26'
 | 
			
		||||
          key: ruby<< parameters.ruby-version >>-gems-v1
 | 
			
		||||
          key: ruby<< parameters.ruby-version >>-gems-v2
 | 
			
		||||
  wait-db:
 | 
			
		||||
    steps:
 | 
			
		||||
      - run:
 | 
			
		||||
@@ -56,14 +56,14 @@ commands:
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
    docker:
 | 
			
		||||
      - image: cimg/ruby:3.0-node
 | 
			
		||||
      - image: cimg/ruby:3.2-node
 | 
			
		||||
        environment:
 | 
			
		||||
          RAILS_ENV: test
 | 
			
		||||
    steps:
 | 
			
		||||
      - checkout
 | 
			
		||||
      - install-system-dependencies
 | 
			
		||||
      - install-ruby-dependencies:
 | 
			
		||||
          ruby-version: '3.0'
 | 
			
		||||
          ruby-version: '3.2'
 | 
			
		||||
      - node/install-packages:
 | 
			
		||||
          cache-version: v1
 | 
			
		||||
          pkg-manager: yarn
 | 
			
		||||
@@ -95,7 +95,7 @@ jobs:
 | 
			
		||||
      - checkout
 | 
			
		||||
      - install-system-dependencies
 | 
			
		||||
      - run:
 | 
			
		||||
          command: sudo apt-get install -y ffmpeg imagemagick libpam-dev
 | 
			
		||||
          command: sudo apt-get install -y ffmpeg imagemagick libmagickcore-dev libmagickwand-dev libjpeg-dev libpng-dev libtiff-dev libwebp-dev libpam-dev
 | 
			
		||||
          name: Install additional system dependencies
 | 
			
		||||
      - run:
 | 
			
		||||
          command: bundle config with 'pam_authentication'
 | 
			
		||||
@@ -113,12 +113,12 @@ jobs:
 | 
			
		||||
  test-migrations:
 | 
			
		||||
    executor:
 | 
			
		||||
      name: default
 | 
			
		||||
      ruby-version: '3.0'
 | 
			
		||||
      ruby-version: '3.2'
 | 
			
		||||
    steps:
 | 
			
		||||
      - checkout
 | 
			
		||||
      - install-system-dependencies
 | 
			
		||||
      - install-ruby-dependencies:
 | 
			
		||||
          ruby-version: '3.0'
 | 
			
		||||
          ruby-version: '3.2'
 | 
			
		||||
      - wait-db
 | 
			
		||||
      - run:
 | 
			
		||||
          command: ./bin/rails db:create
 | 
			
		||||
@@ -151,12 +151,12 @@ jobs:
 | 
			
		||||
  test-two-step-migrations:
 | 
			
		||||
    executor:
 | 
			
		||||
      name: default
 | 
			
		||||
      ruby-version: '3.0'
 | 
			
		||||
      ruby-version: '3.2'
 | 
			
		||||
    steps:
 | 
			
		||||
      - checkout
 | 
			
		||||
      - install-system-dependencies
 | 
			
		||||
      - install-ruby-dependencies:
 | 
			
		||||
          ruby-version: '3.0'
 | 
			
		||||
          ruby-version: '3.2'
 | 
			
		||||
      - wait-db
 | 
			
		||||
      - run:
 | 
			
		||||
          command: ./bin/rails db:create
 | 
			
		||||
@@ -206,6 +206,8 @@ workflows:
 | 
			
		||||
              ruby-version:
 | 
			
		||||
                - '2.7'
 | 
			
		||||
                - '3.0'
 | 
			
		||||
                - '3.1'
 | 
			
		||||
                - '3.2'
 | 
			
		||||
          name: test-ruby<< matrix.ruby-version >>
 | 
			
		||||
          requires:
 | 
			
		||||
            - build
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								.github/workflows/check-i18n.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/check-i18n.yml
									
									
									
									
										vendored
									
									
								
							@@ -14,7 +14,7 @@ permissions:
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  check-i18n:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v3
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
3.0.5
 | 
			
		||||
3.2.1
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
# This needs to be bullseye-slim because the Ruby image is built on bullseye-slim
 | 
			
		||||
ARG NODE_VERSION="16.19-bullseye-slim"
 | 
			
		||||
 | 
			
		||||
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.0.5-slim as ruby
 | 
			
		||||
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.2.1-slim as ruby
 | 
			
		||||
FROM node:${NODE_VERSION} as build
 | 
			
		||||
 | 
			
		||||
COPY --link --from=ruby /opt/ruby /opt/ruby
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Gemfile
									
									
									
									
									
								
							@@ -1,7 +1,7 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
source 'https://rubygems.org'
 | 
			
		||||
ruby '>= 2.7.0', '< 3.1.0'
 | 
			
		||||
ruby '>= 2.7.0', '< 3.3.0'
 | 
			
		||||
 | 
			
		||||
gem 'pkg-config', '~> 1.5'
 | 
			
		||||
gem 'rexml', '~> 3.2'
 | 
			
		||||
@@ -21,7 +21,7 @@ gem 'dotenv-rails', '~> 2.8'
 | 
			
		||||
gem 'aws-sdk-s3', '~> 1.119', require: false
 | 
			
		||||
gem 'fog-core', '<= 2.4.0'
 | 
			
		||||
gem 'fog-openstack', '~> 0.3', require: false
 | 
			
		||||
gem 'kt-paperclip', '~> 7.1'
 | 
			
		||||
gem 'kt-paperclip', '~> 7.1', github: 'kreeti/kt-paperclip', ref: '11abf222dc31bff71160a1d138b445214f434b2b'
 | 
			
		||||
gem 'blurhash', '~> 0.1'
 | 
			
		||||
 | 
			
		||||
gem 'active_model_serializers', '~> 0.10'
 | 
			
		||||
@@ -72,7 +72,7 @@ gem 'premailer-rails'
 | 
			
		||||
gem 'rack-attack', '~> 6.6'
 | 
			
		||||
gem 'rack-cors', '~> 1.1', require: 'rack/cors'
 | 
			
		||||
gem 'rails-i18n', '~> 6.0'
 | 
			
		||||
gem 'rails-settings-cached', '~> 0.6'
 | 
			
		||||
gem 'rails-settings-cached', '~> 0.6', git: 'https://github.com/mastodon/rails-settings-cached.git', branch: 'v0.6.6-aliases-true'
 | 
			
		||||
gem 'redcarpet', '~> 3.6'
 | 
			
		||||
gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis']
 | 
			
		||||
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										32
									
								
								Gemfile.lock
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								Gemfile.lock
									
									
									
									
									
								
							@@ -7,6 +7,26 @@ GIT
 | 
			
		||||
      hkdf (~> 0.2)
 | 
			
		||||
      jwt (~> 2.0)
 | 
			
		||||
 | 
			
		||||
GIT
 | 
			
		||||
  remote: https://github.com/kreeti/kt-paperclip.git
 | 
			
		||||
  revision: 11abf222dc31bff71160a1d138b445214f434b2b
 | 
			
		||||
  ref: 11abf222dc31bff71160a1d138b445214f434b2b
 | 
			
		||||
  specs:
 | 
			
		||||
    kt-paperclip (7.1.1)
 | 
			
		||||
      activemodel (>= 4.2.0)
 | 
			
		||||
      activesupport (>= 4.2.0)
 | 
			
		||||
      marcel (~> 1.0.1)
 | 
			
		||||
      mime-types
 | 
			
		||||
      terrapin (~> 0.6.0)
 | 
			
		||||
 | 
			
		||||
GIT
 | 
			
		||||
  remote: https://github.com/mastodon/rails-settings-cached.git
 | 
			
		||||
  revision: 86328ef0bd04ce21cc0504ff5e334591e8c2ccab
 | 
			
		||||
  branch: v0.6.6-aliases-true
 | 
			
		||||
  specs:
 | 
			
		||||
    rails-settings-cached (0.6.6)
 | 
			
		||||
      rails (>= 4.2.0)
 | 
			
		||||
 | 
			
		||||
GEM
 | 
			
		||||
  remote: https://rubygems.org/
 | 
			
		||||
  specs:
 | 
			
		||||
@@ -357,12 +377,6 @@ GEM
 | 
			
		||||
      activerecord
 | 
			
		||||
      kaminari-core (= 1.2.2)
 | 
			
		||||
    kaminari-core (1.2.2)
 | 
			
		||||
    kt-paperclip (7.1.1)
 | 
			
		||||
      activemodel (>= 4.2.0)
 | 
			
		||||
      activesupport (>= 4.2.0)
 | 
			
		||||
      marcel (~> 1.0.1)
 | 
			
		||||
      mime-types
 | 
			
		||||
      terrapin (~> 0.6.0)
 | 
			
		||||
    launchy (2.5.0)
 | 
			
		||||
      addressable (~> 2.7)
 | 
			
		||||
    letter_opener (1.8.1)
 | 
			
		||||
@@ -540,8 +554,6 @@ GEM
 | 
			
		||||
    rails-i18n (6.0.0)
 | 
			
		||||
      i18n (>= 0.7, < 2)
 | 
			
		||||
      railties (>= 6.0.0, < 7)
 | 
			
		||||
    rails-settings-cached (0.6.6)
 | 
			
		||||
      rails (>= 4.2.0)
 | 
			
		||||
    railties (6.1.7.2)
 | 
			
		||||
      actionpack (= 6.1.7.2)
 | 
			
		||||
      activesupport (= 6.1.7.2)
 | 
			
		||||
@@ -811,7 +823,7 @@ DEPENDENCIES
 | 
			
		||||
  json-ld-preloaded (~> 3.2)
 | 
			
		||||
  json-schema (~> 3.0)
 | 
			
		||||
  kaminari (~> 1.2)
 | 
			
		||||
  kt-paperclip (~> 7.1)
 | 
			
		||||
  kt-paperclip (~> 7.1)!
 | 
			
		||||
  letter_opener (~> 1.8)
 | 
			
		||||
  letter_opener_web (~> 2.0)
 | 
			
		||||
  link_header (~> 0.0)
 | 
			
		||||
@@ -850,7 +862,7 @@ DEPENDENCIES
 | 
			
		||||
  rails (~> 6.1.7)
 | 
			
		||||
  rails-controller-testing (~> 1.0)
 | 
			
		||||
  rails-i18n (~> 6.0)
 | 
			
		||||
  rails-settings-cached (~> 0.6)
 | 
			
		||||
  rails-settings-cached (~> 0.6)!
 | 
			
		||||
  rdf-normalize (~> 0.5)
 | 
			
		||||
  redcarpet (~> 3.6)
 | 
			
		||||
  redis (~> 4.5)
 | 
			
		||||
 
 | 
			
		||||
@@ -18,5 +18,5 @@ class Backup < ApplicationRecord
 | 
			
		||||
  belongs_to :user, inverse_of: :backups
 | 
			
		||||
 | 
			
		||||
  has_attached_file :dump
 | 
			
		||||
  do_not_validate_attachment_file_type :dump
 | 
			
		||||
  validates_attachment_content_type :dump, content_type: /\Aapplication/
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user