Browse Source

[ruby/sinatra] Don't install unused servers (#9439)

For example, don't install unicorn when testing puma.
Petrik de Heus 8 months ago
parent
commit
aea3a4f2fa

+ 12 - 3
frameworks/Ruby/sinatra-sequel/Gemfile

@@ -1,11 +1,8 @@
 source 'https://rubygems.org'
 source 'https://rubygems.org'
 
 
 gem 'json', '~> 2.8'
 gem 'json', '~> 2.8'
-gem 'passenger', '~> 6.0', :platforms=>[:ruby, :mswin], :require=>false
-gem 'puma', '~> 6.4', :require=>false
 gem 'sequel', '~> 5.0'
 gem 'sequel', '~> 5.0'
 gem 'sinatra', '~> 4.0', :require=>'sinatra/base'
 gem 'sinatra', '~> 4.0', :require=>'sinatra/base'
-gem 'unicorn', '~> 6.1', :platforms=>[:ruby, :mswin], :require=>false
 
 
 group :mysql do
 group :mysql do
   gem 'mysql2', '~> 0.5', :platforms=>[:ruby, :mswin]
   gem 'mysql2', '~> 0.5', :platforms=>[:ruby, :mswin]
@@ -15,3 +12,15 @@ group :postgresql do
   gem 'pg', '~> 1.5', :platforms=>[:ruby, :mswin]
   gem 'pg', '~> 1.5', :platforms=>[:ruby, :mswin]
   gem 'sequel_pg', '~> 1.6', :platforms=>:ruby, :require=>false
   gem 'sequel_pg', '~> 1.6', :platforms=>:ruby, :require=>false
 end
 end
+
+group :passenger do
+  gem 'passenger', '~> 6.0', platforms: [:ruby, :mswin], require: false
+end
+
+group :puma do
+  gem 'puma', '~> 6.4', require: false
+end
+
+group :unicorn do
+  gem 'unicorn', '~> 6.1', platforms: [:ruby, :mswin], require: false
+end

+ 0 - 13
frameworks/Ruby/sinatra-sequel/sinatra-sequel-base.dockerfile

@@ -1,13 +0,0 @@
-FROM ruby:3.4-rc
-
-ENV RUBY_YJIT_ENABLE=1
-
-# Use Jemalloc
-RUN apt-get update && \
-    apt-get install -y --no-install-recommends libjemalloc2
-ENV LD_PRELOAD=libjemalloc.so.2
-
-ADD ./ /sinatra-sequel
-WORKDIR /sinatra-sequel
-
-RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile

+ 1 - 0
frameworks/Ruby/sinatra-sequel/sinatra-sequel-postgres-passenger-mri.dockerfile

@@ -10,6 +10,7 @@ ENV LD_PRELOAD=libjemalloc.so.2
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel
 
 
+ENV BUNDLE_WITHOUT=mysql:puma:unicorn
 RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile
 RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile
 
 
 # TODO: https://github.com/phusion/passenger/issues/1916
 # TODO: https://github.com/phusion/passenger/issues/1916

+ 1 - 0
frameworks/Ruby/sinatra-sequel/sinatra-sequel-postgres-unicorn-mri.dockerfile

@@ -10,6 +10,7 @@ ENV LD_PRELOAD=libjemalloc.so.2
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel
 
 
+ENV BUNDLE_WITHOUT=mysql:passenger:puma
 RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile
 RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile
 
 
 ENV DBTYPE=postgresql
 ENV DBTYPE=postgresql

+ 1 - 0
frameworks/Ruby/sinatra-sequel/sinatra-sequel-postgres.dockerfile

@@ -10,6 +10,7 @@ ENV LD_PRELOAD=libjemalloc.so.2
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel
 
 
+ENV BUNDLE_WITHOUT=mysql:passenger:unicorn
 RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile
 RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile
 
 
 ENV DBTYPE=postgresql
 ENV DBTYPE=postgresql

+ 1 - 0
frameworks/Ruby/sinatra-sequel/sinatra-sequel.dockerfile

@@ -10,6 +10,7 @@ ENV LD_PRELOAD=libjemalloc.so.2
 ADD ./ /sinatra-sequel
 ADD ./ /sinatra-sequel
 WORKDIR /sinatra-sequel
 WORKDIR /sinatra-sequel
 
 
+ENV BUNDLE_WITHOUT=postgresql:passenger:unicorn
 RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile
 RUN bundle install --jobs=4 --gemfile=/sinatra-sequel/Gemfile
 
 
 ENV DBTYPE=mysql
 ENV DBTYPE=mysql

+ 12 - 3
frameworks/Ruby/sinatra/Gemfile

@@ -2,10 +2,7 @@ source 'https://rubygems.org'
 
 
 gem 'activerecord', '~> 7.2', require: 'active_record'
 gem 'activerecord', '~> 7.2', require: 'active_record'
 gem 'json', '~> 2.8'
 gem 'json', '~> 2.8'
-gem 'passenger', '~> 6.0', platforms: [:ruby, :mswin], require: false
-gem 'puma', '~> 6.4', require: false
 gem 'sinatra', '~> 4.0', require: 'sinatra/base'
 gem 'sinatra', '~> 4.0', require: 'sinatra/base'
-gem 'unicorn', '~> 6.1', platforms: [:ruby, :mswin], require: false
 
 
 group :mysql do
 group :mysql do
   gem 'mysql2', '~> 0.5', :platforms=>[:ruby, :mswin]
   gem 'mysql2', '~> 0.5', :platforms=>[:ruby, :mswin]
@@ -14,3 +11,15 @@ end
 group :postgresql do
 group :postgresql do
   gem 'pg', '~> 1.5', platforms: [:ruby, :mswin]
   gem 'pg', '~> 1.5', platforms: [:ruby, :mswin]
 end
 end
+
+group :passenger do
+  gem 'passenger', '~> 6.0', platforms: [:ruby, :mswin], require: false
+end
+
+group :puma do
+  gem 'puma', '~> 6.4', require: false
+end
+
+group :unicorn do
+  gem 'unicorn', '~> 6.1', platforms: [:ruby, :mswin], require: false
+end

+ 1 - 0
frameworks/Ruby/sinatra/sinatra-postgres-passenger-mri.dockerfile

@@ -10,6 +10,7 @@ ENV LD_PRELOAD=libjemalloc.so.2
 ADD ./ /sinatra
 ADD ./ /sinatra
 WORKDIR /sinatra
 WORKDIR /sinatra
 
 
+ENV BUNDLE_WITHOUT=mysql:puma:unicorn
 RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile
 RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile
 
 
 # TODO: https://github.com/phusion/passenger/issues/1916
 # TODO: https://github.com/phusion/passenger/issues/1916

+ 1 - 0
frameworks/Ruby/sinatra/sinatra-postgres-unicorn-mri.dockerfile

@@ -10,6 +10,7 @@ ENV LD_PRELOAD=libjemalloc.so.2
 ADD ./ /sinatra
 ADD ./ /sinatra
 WORKDIR /sinatra
 WORKDIR /sinatra
 
 
+ENV BUNDLE_WITHOUT=mysql:passenger:puma
 RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile
 RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile
 
 
 ENV DBTYPE=postgresql
 ENV DBTYPE=postgresql

+ 1 - 0
frameworks/Ruby/sinatra/sinatra-postgres.dockerfile

@@ -10,6 +10,7 @@ ENV LD_PRELOAD=libjemalloc.so.2
 ADD ./ /sinatra
 ADD ./ /sinatra
 WORKDIR /sinatra
 WORKDIR /sinatra
 
 
+ENV BUNDLE_WITHOUT=mysql:passenger:unicorn
 RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile
 RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile
 
 
 ENV DBTYPE=postgresql
 ENV DBTYPE=postgresql

+ 1 - 0
frameworks/Ruby/sinatra/sinatra.dockerfile

@@ -10,6 +10,7 @@ ENV LD_PRELOAD=libjemalloc.so.2
 ADD ./ /sinatra
 ADD ./ /sinatra
 WORKDIR /sinatra
 WORKDIR /sinatra
 
 
+ENV BUNDLE_WITHOUT=postgresql:passenger:unicorn
 RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile
 RUN bundle install --jobs=4 --gemfile=/sinatra/Gemfile
 
 
 ENV DBTYPE=mysql
 ENV DBTYPE=mysql