Skip to content
Snippets Groups Projects
Commit ef722c77 authored by John Harris's avatar John Harris
Browse files

Merge branch 'ruby-3-2' into 'master'

Ruby 3 2

See merge request nexus-mods/public/rails-build!3
parents 1b09fc3a 6df87f84
No related branches found
No related tags found
No related merge requests found
FROM ruby:2.7.5-slim-bullseye
FROM ruby:3.2.1-slim-bullseye
# Bootstrap scripts will also be used by stage 2 (rails-runtime-base-image).
COPY /app/bootstrap*sh /app/
......
# frozen_string_literal: true
source 'https://rubygems.org'
ruby '2.7.5'
ruby '3.2.1'
# Core Gems
gem 'rails', '7.0.4.1'
gem 'rails', '7.0.4.3'
gem 'puma', '5.6.4'
gem 'sass-rails', '5.1.0'
gem 'uglifier', '4.2.0'
gem 'mini_racer', '0.3.1'
gem 'mini_racer', '0.6.3'
gem 'bootstrap', '4.6.0'
gem 'jquery-rails', '4.4.0'
gem 'turbolinks', '5.2.1'
......@@ -17,7 +17,7 @@ gem 'spring-watcher-listen', '2.0.1'
# Database / Active Record
gem 'pg', '1.3.5'
gem 'mysql2', '0.5.3'
gem 'mysql2', '0.5.5'
gem 'discard', '1.2.1'
gem 'delayed_job_active_record', '4.1.7'
gem 'active_model_serializers', '0.10.13'
......@@ -32,10 +32,13 @@ gem 'secure_headers', '6.3.3'
gem 'jwt', '2.3.0'
gem 'pundit', '2.2.0'
# Seeding
gem 'nexus_seed', '0.2.16'
# Monitoring / Performance
gem 'ddtrace', '0.54.2'
gem 'ddtrace', '1.9.0'
gem 'health_check', '3.1.0'
gem 'google-protobuf', '3.20.3'
gem 'nexus_semantic_logger', '1.11.6'
gem 'actionpack-cloudflare', '1.1.0'
# Caching
......
GEM
remote: https://rubygems.org/
specs:
actioncable (7.0.4.1)
actionpack (= 7.0.4.1)
activesupport (= 7.0.4.1)
actioncable (7.0.4.3)
actionpack (= 7.0.4.3)
activesupport (= 7.0.4.3)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (7.0.4.1)
actionpack (= 7.0.4.1)
activejob (= 7.0.4.1)
activerecord (= 7.0.4.1)
activestorage (= 7.0.4.1)
activesupport (= 7.0.4.1)
actionmailbox (7.0.4.3)
actionpack (= 7.0.4.3)
activejob (= 7.0.4.3)
activerecord (= 7.0.4.3)
activestorage (= 7.0.4.3)
activesupport (= 7.0.4.3)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
actionmailer (7.0.4.1)
actionpack (= 7.0.4.1)
actionview (= 7.0.4.1)
activejob (= 7.0.4.1)
activesupport (= 7.0.4.1)
actionmailer (7.0.4.3)
actionpack (= 7.0.4.3)
actionview (= 7.0.4.3)
activejob (= 7.0.4.3)
activesupport (= 7.0.4.3)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.0)
actionpack (7.0.4.1)
actionview (= 7.0.4.1)
activesupport (= 7.0.4.1)
actionpack (7.0.4.3)
actionview (= 7.0.4.3)
activesupport (= 7.0.4.3)
rack (~> 2.0, >= 2.2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionpack-cloudflare (1.1.0)
actionpack (>= 3.2)
actiontext (7.0.4.1)
actionpack (= 7.0.4.1)
activerecord (= 7.0.4.1)
activestorage (= 7.0.4.1)
activesupport (= 7.0.4.1)
actiontext (7.0.4.3)
actionpack (= 7.0.4.3)
activerecord (= 7.0.4.3)
activestorage (= 7.0.4.3)
activesupport (= 7.0.4.3)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.0.4.1)
activesupport (= 7.0.4.1)
actionview (7.0.4.3)
activesupport (= 7.0.4.3)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
......@@ -53,39 +53,40 @@ GEM
activemodel (>= 4.1, < 7.1)
case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
activejob (7.0.4.1)
activesupport (= 7.0.4.1)
activejob (7.0.4.3)
activesupport (= 7.0.4.3)
globalid (>= 0.3.6)
activemodel (7.0.4.1)
activesupport (= 7.0.4.1)
activerecord (7.0.4.1)
activemodel (= 7.0.4.1)
activesupport (= 7.0.4.1)
activestorage (7.0.4.1)
actionpack (= 7.0.4.1)
activejob (= 7.0.4.1)
activerecord (= 7.0.4.1)
activesupport (= 7.0.4.1)
activemodel (7.0.4.3)
activesupport (= 7.0.4.3)
activerecord (7.0.4.3)
activemodel (= 7.0.4.3)
activesupport (= 7.0.4.3)
activestorage (7.0.4.3)
actionpack (= 7.0.4.3)
activejob (= 7.0.4.3)
activerecord (= 7.0.4.3)
activesupport (= 7.0.4.3)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (7.0.4.1)
activesupport (7.0.4.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
amazing_print (1.4.0)
amq-protocol (2.3.2)
autoprefixer-rails (10.4.7.0)
autoprefixer-rails (10.4.13.0)
execjs (~> 2)
aws-eventstream (1.2.0)
aws-partitions (1.715.0)
aws-sdk-core (3.170.0)
aws-partitions (1.731.0)
aws-sdk-core (3.170.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.62.0)
aws-sdk-kms (1.63.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.113.0)
......@@ -107,15 +108,17 @@ GEM
bunny (>= 1.7)
case_transform (0.2)
activesupport
concurrent-ruby (1.2.0)
concurrent-ruby (1.2.2)
crack (0.4.5)
rexml
crass (1.0.6)
date (3.3.3)
ddtrace (0.54.2)
debase-ruby_core_source (<= 0.10.14)
ddtrace (1.9.0)
debase-ruby_core_source (>= 0.10.16, <= 3.2.0)
libdatadog (~> 1.0.1.1.0)
libddwaf (~> 1.5.1.0.0)
msgpack
debase-ruby_core_source (0.10.14)
debase-ruby_core_source (3.2.0)
delayed_job (4.1.11)
activesupport (>= 3.0, < 8.0)
delayed_job_active_record (4.1.7)
......@@ -125,6 +128,7 @@ GEM
discard (1.2.1)
activerecord (>= 4.2, < 8)
docile (1.4.0)
dogstatsd-ruby (5.4.0)
dotenv (2.7.6)
dotenv-rails (2.7.6)
dotenv (= 2.7.6)
......@@ -144,7 +148,7 @@ GEM
railties (>= 3.0.0)
globalid (1.1.0)
activesupport (>= 5.0)
google-protobuf (3.20.3)
google-protobuf (3.22.2-x86_64-linux)
hashdiff (1.0.1)
hcaptcha (7.1.0)
json
......@@ -165,7 +169,10 @@ GEM
json (2.6.3)
jsonapi-renderer (0.2.2)
jwt (2.3.0)
libv8 (8.4.255.0)
libdatadog (1.0.1.1.0-x86_64-linux)
libddwaf (1.5.1.0.1-x86_64-linux)
ffi (~> 1.0)
libv8-node (16.10.0.0-x86_64-linux)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
......@@ -180,13 +187,12 @@ GEM
marcel (1.0.2)
method_source (1.0.0)
mini_mime (1.1.2)
mini_portile2 (2.8.1)
mini_racer (0.3.1)
libv8 (~> 8.4.255)
minitest (5.17.0)
msgpack (1.6.0)
mini_racer (0.6.3)
libv8-node (~> 16.10.0.0)
minitest (5.18.0)
msgpack (1.6.1)
multi_xml (0.6.0)
mysql2 (0.5.3)
mysql2 (0.5.5)
net-imap (0.3.4)
date
net-protocol
......@@ -196,6 +202,7 @@ GEM
timeout
net-smtp (0.3.3)
net-protocol
net_tcp_client (2.2.0)
nexus_cqrs (0.4.8)
generator_spec
ibsciss-middleware
......@@ -206,9 +213,17 @@ GEM
nexus_domain_events (1.1.2)
activesupport
bunny
nexus_seed (0.2.16)
nexus_semantic_logger (~> 1.11)
nexus_semantic_logger (1.11.6)
amazing_print (~> 1.4.0)
ddtrace (~> 1.9.0)
dogstatsd-ruby (~> 5.4.0)
google-protobuf (~> 3.22.0)
net_tcp_client (~> 2.2.0)
rails_semantic_logger (~> 4.10.0)
nio4r (2.5.8)
nokogiri (1.14.2)
mini_portile2 (~> 2.8.0)
nokogiri (1.14.2-x86_64-linux)
racc (~> 1.4)
pg (1.3.5)
popper_js (1.16.1)
......@@ -220,27 +235,27 @@ GEM
pundit-matchers (1.7.0)
rspec-rails (>= 3.0.0)
racc (1.6.2)
rack (2.2.6.2)
rack (2.2.6.4)
rack-attack (6.6.1)
rack (>= 1.0, < 3)
rack-cors (1.1.1)
rack (>= 2.0.0)
rack-test (2.0.2)
rack-test (2.1.0)
rack (>= 1.3)
rails (7.0.4.1)
actioncable (= 7.0.4.1)
actionmailbox (= 7.0.4.1)
actionmailer (= 7.0.4.1)
actionpack (= 7.0.4.1)
actiontext (= 7.0.4.1)
actionview (= 7.0.4.1)
activejob (= 7.0.4.1)
activemodel (= 7.0.4.1)
activerecord (= 7.0.4.1)
activestorage (= 7.0.4.1)
activesupport (= 7.0.4.1)
rails (7.0.4.3)
actioncable (= 7.0.4.3)
actionmailbox (= 7.0.4.3)
actionmailer (= 7.0.4.3)
actionpack (= 7.0.4.3)
actiontext (= 7.0.4.3)
actionview (= 7.0.4.3)
activejob (= 7.0.4.3)
activemodel (= 7.0.4.3)
activerecord (= 7.0.4.3)
activestorage (= 7.0.4.3)
activesupport (= 7.0.4.3)
bundler (>= 1.15.0)
railties (= 7.0.4.1)
railties (= 7.0.4.3)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
......@@ -250,9 +265,13 @@ GEM
nokogiri (>= 1.6)
rails-html-sanitizer (1.5.0)
loofah (~> 2.19, >= 2.19.1)
railties (7.0.4.1)
actionpack (= 7.0.4.1)
activesupport (= 7.0.4.1)
rails_semantic_logger (4.10.0)
rack
railties (>= 5.1)
semantic_logger (~> 4.9)
railties (7.0.4.3)
actionpack (= 7.0.4.3)
activesupport (= 7.0.4.3)
method_source
rake (>= 12.2)
thor (~> 1.0)
......@@ -271,7 +290,7 @@ GEM
rspec-expectations (3.12.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.3)
rspec-mocks (3.12.4)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-rails (5.1.1)
......@@ -304,6 +323,8 @@ GEM
sprockets-rails
tilt
secure_headers (6.3.3)
semantic_logger (4.12.0)
concurrent-ruby (~> 1.0)
serverengine (2.1.1)
sigdump (~> 0.2.2)
set (1.0.3)
......@@ -362,7 +383,7 @@ GEM
zeitwerk (2.6.7)
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
actionpack-cloudflare (= 1.1.0)
......@@ -371,30 +392,31 @@ DEPENDENCIES
batch-loader (= 2.0.1)
bootstrap (= 4.6.0)
bunny-mock (= 1.7.0)
ddtrace (= 0.54.2)
ddtrace (= 1.9.0)
delayed_job_active_record (= 4.1.7)
discard (= 1.2.1)
dotenv-rails (= 2.7.6)
factory_bot_rails (= 6.2.0)
faker (= 2.22.0)
google-protobuf (= 3.20.3)
hcaptcha (= 7.1.0)
health_check (= 3.1.0)
hiredis (= 0.6.3)
httparty (= 0.21.0)
jquery-rails (= 4.4.0)
jwt (= 2.3.0)
mini_racer (= 0.3.1)
mysql2 (= 0.5.3)
mini_racer (= 0.6.3)
mysql2 (= 0.5.5)
nexus_cqrs (= 0.4.8)
nexus_domain_events (= 1.1.2)
nexus_seed (= 0.2.16)
nexus_semantic_logger (= 1.11.6)
pg (= 1.3.5)
puma (= 5.6.4)
pundit (= 2.2.0)
pundit-matchers (= 1.7.0)
rack-attack (= 6.6.1)
rack-cors (= 1.1.1)
rails (= 7.0.4.1)
rails (= 7.0.4.3)
rails-controller-testing (= 1.0.5)
redis (= 4.6.0)
rspec-rails (= 5.1.1)
......@@ -412,7 +434,7 @@ DEPENDENCIES
webmock (= 3.14.0)
RUBY VERSION
ruby 2.7.5p203
ruby 3.2.1p31
BUNDLED WITH
2.1.4
2.4.9
# frozen_string_literal: true
source 'https://rubygems.org'
ruby '3.2.0'
# Core Gems
gem 'rails', '7.0.4.2'
gem 'puma', '6.0.2'
gem 'sass-rails', '5.1.0'
gem 'uglifier', '4.2.0'
gem 'mini_racer', '0.6.3'
gem 'bootstrap', '5.2.3'
gem 'jquery-rails', '4.4.0'
gem 'turbolinks', '5.2.1'
gem 'dotenv-rails', '2.7.6'
gem 'spring-watcher-listen', '2.0.1'
# Database / Active Record
gem 'pg', '1.3.5'
gem 'mysql2', '0.5.3'
gem 'discard', '1.2.1'
gem 'delayed_job_active_record', '4.1.7'
gem 'active_model_serializers', '0.10.13'
# Security
gem 'rack-cors', '1.1.1'
gem 'ruby-mailchecker', '4.1.15'
gem 'hcaptcha', '7.1.0'
gem 'useragent', '0.16.10'
gem 'rack-attack', '6.6.1'
gem 'secure_headers', '6.3.3'
gem 'jwt', '2.3.0'
gem 'pundit', '2.2.0'
# Monitoring / Performance
gem 'ddtrace', '1.8.0'
gem 'health_check', '3.1.0'
gem 'google-protobuf', '3.21.12'
gem 'actionpack-cloudflare', '1.1.0'
# Caching
gem 'hiredis', '0.6.3'
gem 'redis', '4.6.0'
gem 'batch-loader', '2.0.1'
# Misc
gem 'sneakers', '2.12.0'
gem 'httparty', '0.21.0'
gem 'aws-sdk-s3', '1.113.0'
# Testing
group :test, :development do
gem 'faker', '2.22.0'
gem 'bunny-mock', '1.7.0'
gem 'rspec-rails', '5.1.1'
gem 'rails-controller-testing', '1.0.5'
gem 'factory_bot_rails', '6.2.0'
gem 'shoulda-matchers', '4.5.1'
gem 'simplecov', '0.21.2'
gem 'simplecov-cobertura', '2.1.0'
gem 'webmock', '3.14.0'
gem 'pundit-matchers', '1.7.0'
end
# NexusMods Gems
gem 'nexus_cqrs', '0.4.8'
gem 'nexus_domain_events', '1.1.2'
......@@ -2,7 +2,7 @@
This repository is the 'Stage 1' base image used in the `builder` stage on all of our rails applications.
* Stage 1 (rails-base): Install packages to compile gems, and compile those gems.
* Stage 1 (rails-build): Install packages to compile gems, and compile those gems.
* Stage 2 (rails-runtime): Install packages and configure OS for runtime environment.
## Update gems
......
#!/bin/sh
set -ex
bundle config --local build.sassc --disable-march-tune-native
gem install bundler -v 2.1
gem install --default bundler:2.4.7
bundle update --bundler
bundle install --jobs 20 --retry 5
#!/bin/bash
cd "$(dirname "$0")"
set -ex
docker run -it -v "$(pwd)":/app \
-v /usr/local/bundle:/usr/local/bundle ruby:2.7.5 sh \
docker run --rm -it -v "$(pwd)":/app \
-v /usr/local/bundle:/usr/local/bundle ruby:3.2.1-slim-bullseye sh \
-c "apt-get update; \
apt-get install -y cmake build-essential; \
cd /app; \
gem install bundler:2.1; \
gem install --default bundler:2.4.7; \
gem update --system; \
bundle update --bundler; \
bundle outdated; \
bundle update; \
bundle install;"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment