Skip to content

Commit 18307b1

Browse files
committed
[rails] Use bundler deployment
This also requires the Gemfile.lock to be present.
1 parent bdc7b4b commit 18307b1

3 files changed

Lines changed: 296 additions & 2 deletions

File tree

frameworks/rails/Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM ruby:4.0-slim
22

33
RUN apt-get update && \
4-
apt-get install -y --no-install-recommends build-essential libsqlite3-dev libpq-dev libyaml-dev libjemalloc2 libpq5 && \
4+
apt-get install -y --no-install-recommends build-essential libpq-dev libyaml-dev libjemalloc2 libpq5 && \
55
rm -rf /var/lib/apt/lists/*
66

77
# Use Jemalloc
@@ -15,7 +15,8 @@ ENV RAILS_MAX_THREADS=3
1515

1616
WORKDIR /app
1717

18-
COPY Gemfile .
18+
COPY Gemfile* .
19+
RUN bundle config set deployment 'true'
1920
RUN bundle install --jobs=$(nproc)
2021

2122
COPY . .

frameworks/rails/Gemfile.lock

Lines changed: 288 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,288 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
action_text-trix (2.1.18)
5+
railties
6+
actioncable (8.1.3)
7+
actionpack (= 8.1.3)
8+
activesupport (= 8.1.3)
9+
nio4r (~> 2.0)
10+
websocket-driver (>= 0.6.1)
11+
zeitwerk (~> 2.6)
12+
actionmailbox (8.1.3)
13+
actionpack (= 8.1.3)
14+
activejob (= 8.1.3)
15+
activerecord (= 8.1.3)
16+
activestorage (= 8.1.3)
17+
activesupport (= 8.1.3)
18+
mail (>= 2.8.0)
19+
actionmailer (8.1.3)
20+
actionpack (= 8.1.3)
21+
actionview (= 8.1.3)
22+
activejob (= 8.1.3)
23+
activesupport (= 8.1.3)
24+
mail (>= 2.8.0)
25+
rails-dom-testing (~> 2.2)
26+
actionpack (8.1.3)
27+
actionview (= 8.1.3)
28+
activesupport (= 8.1.3)
29+
nokogiri (>= 1.8.5)
30+
rack (>= 2.2.4)
31+
rack-session (>= 1.0.1)
32+
rack-test (>= 0.6.3)
33+
rails-dom-testing (~> 2.2)
34+
rails-html-sanitizer (~> 1.6)
35+
useragent (~> 0.16)
36+
actiontext (8.1.3)
37+
action_text-trix (~> 2.1.15)
38+
actionpack (= 8.1.3)
39+
activerecord (= 8.1.3)
40+
activestorage (= 8.1.3)
41+
activesupport (= 8.1.3)
42+
globalid (>= 0.6.0)
43+
nokogiri (>= 1.8.5)
44+
actionview (8.1.3)
45+
activesupport (= 8.1.3)
46+
builder (~> 3.1)
47+
erubi (~> 1.11)
48+
rails-dom-testing (~> 2.2)
49+
rails-html-sanitizer (~> 1.6)
50+
activejob (8.1.3)
51+
activesupport (= 8.1.3)
52+
globalid (>= 0.3.6)
53+
activemodel (8.1.3)
54+
activesupport (= 8.1.3)
55+
activerecord (8.1.3)
56+
activemodel (= 8.1.3)
57+
activesupport (= 8.1.3)
58+
timeout (>= 0.4.0)
59+
activestorage (8.1.3)
60+
actionpack (= 8.1.3)
61+
activejob (= 8.1.3)
62+
activerecord (= 8.1.3)
63+
activesupport (= 8.1.3)
64+
marcel (~> 1.0)
65+
activesupport (8.1.3)
66+
base64
67+
bigdecimal
68+
concurrent-ruby (~> 1.0, >= 1.3.1)
69+
connection_pool (>= 2.2.5)
70+
drb
71+
i18n (>= 1.6, < 2)
72+
json
73+
logger (>= 1.4.2)
74+
minitest (>= 5.1)
75+
securerandom (>= 0.3)
76+
tzinfo (~> 2.0, >= 2.0.5)
77+
uri (>= 0.13.1)
78+
base64 (0.3.0)
79+
bigdecimal (4.1.2)
80+
builder (3.3.0)
81+
concurrent-ruby (1.3.6)
82+
connection_pool (3.0.2)
83+
crass (1.0.6)
84+
date (3.5.1)
85+
drb (2.2.3)
86+
erb (6.0.4)
87+
erubi (1.13.1)
88+
globalid (1.3.0)
89+
activesupport (>= 6.1)
90+
i18n (1.14.8)
91+
concurrent-ruby (~> 1.0)
92+
io-console (0.8.2)
93+
irb (1.18.0)
94+
pp (>= 0.6.0)
95+
prism (>= 1.3.0)
96+
rdoc (>= 4.0.0)
97+
reline (>= 0.4.2)
98+
json (2.19.4)
99+
logger (1.7.0)
100+
loofah (2.25.1)
101+
crass (~> 1.0.2)
102+
nokogiri (>= 1.12.0)
103+
mail (2.9.0)
104+
logger
105+
mini_mime (>= 0.1.1)
106+
net-imap
107+
net-pop
108+
net-smtp
109+
marcel (1.1.0)
110+
mini_mime (1.1.5)
111+
minitest (6.0.5)
112+
drb (~> 2.0)
113+
prism (~> 1.5)
114+
net-imap (0.6.4)
115+
date
116+
net-protocol
117+
net-pop (0.1.2)
118+
net-protocol
119+
net-protocol (0.2.2)
120+
timeout
121+
net-smtp (0.5.1)
122+
net-protocol
123+
nio4r (2.7.5)
124+
nokogiri (1.19.2-arm64-darwin)
125+
racc (~> 1.4)
126+
nokogiri (1.19.2-x86_64-linux-gnu)
127+
racc (~> 1.4)
128+
pg (1.6.3-arm64-darwin)
129+
pg (1.6.3-x86_64-linux)
130+
pp (0.6.3)
131+
prettyprint
132+
prettyprint (0.2.0)
133+
prism (1.9.0)
134+
psych (5.3.1)
135+
date
136+
stringio
137+
puma (7.2.0)
138+
nio4r (~> 2.0)
139+
racc (1.8.1)
140+
rack (3.2.6)
141+
rack-session (2.1.2)
142+
base64 (>= 0.1.0)
143+
rack (>= 3.0.0)
144+
rack-test (2.2.0)
145+
rack (>= 1.3)
146+
rackup (2.3.1)
147+
rack (>= 3)
148+
rails (8.1.3)
149+
actioncable (= 8.1.3)
150+
actionmailbox (= 8.1.3)
151+
actionmailer (= 8.1.3)
152+
actionpack (= 8.1.3)
153+
actiontext (= 8.1.3)
154+
actionview (= 8.1.3)
155+
activejob (= 8.1.3)
156+
activemodel (= 8.1.3)
157+
activerecord (= 8.1.3)
158+
activestorage (= 8.1.3)
159+
activesupport (= 8.1.3)
160+
bundler (>= 1.15.0)
161+
railties (= 8.1.3)
162+
rails-dom-testing (2.3.0)
163+
activesupport (>= 5.0.0)
164+
minitest
165+
nokogiri (>= 1.6)
166+
rails-html-sanitizer (1.7.0)
167+
loofah (~> 2.25)
168+
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)
169+
railties (8.1.3)
170+
actionpack (= 8.1.3)
171+
activesupport (= 8.1.3)
172+
irb (~> 1.13)
173+
rackup (>= 1.0.0)
174+
rake (>= 12.2)
175+
thor (~> 1.0, >= 1.2.2)
176+
tsort (>= 0.2)
177+
zeitwerk (~> 2.6)
178+
rake (13.4.2)
179+
rdoc (7.2.0)
180+
erb
181+
psych (>= 4.0.0)
182+
tsort
183+
reline (0.6.3)
184+
io-console (~> 0.5)
185+
securerandom (0.4.1)
186+
stringio (3.2.0)
187+
thor (1.5.0)
188+
thruster (0.1.20-arm64-darwin)
189+
thruster (0.1.20-x86_64-linux)
190+
timeout (0.6.1)
191+
tsort (0.2.0)
192+
tzinfo (2.0.6)
193+
concurrent-ruby (~> 1.0)
194+
uri (1.1.1)
195+
useragent (0.16.11)
196+
websocket-driver (0.8.0)
197+
base64
198+
websocket-extensions (>= 0.1.0)
199+
websocket-extensions (0.1.5)
200+
zeitwerk (2.7.5)
201+
202+
PLATFORMS
203+
arm64-darwin
204+
x86_64-linux
205+
206+
DEPENDENCIES
207+
connection_pool
208+
pg (~> 1.5)
209+
puma (~> 7.2)
210+
rails (~> 8.0)
211+
thruster
212+
213+
CHECKSUMS
214+
action_text-trix (2.1.18) sha256=3fdb83f8bff4145d098be283cdd47ac41caf5110bfa6df4695ed7127d7fb3642
215+
actioncable (8.1.3) sha256=e5bc7f75e44e6a22de29c4f43176927c3a9ce4824464b74ed18d8226e75a80f0
216+
actionmailbox (8.1.3) sha256=df7da474eaa0e70df4ed5a6fef66eb3b3b0f2dbf7f14518deee8d77f1b4aae59
217+
actionmailer (8.1.3) sha256=831f724891bb70d0aaa4d76581a6321124b6a752cb655c9346aae5479318448d
218+
actionpack (8.1.3) sha256=af998cae4d47c5d581a2cc363b5c77eb718b7c4b45748d81b1887b25621c29a3
219+
actiontext (8.1.3) sha256=d291019c00e1ea9e6463011fa214f6081a56d7b9a1d224e7d3f6384c1dafc7d2
220+
actionview (8.1.3) sha256=1347c88c7f3edb38100c5ce0e9fb5e62d7755f3edc1b61cce2eb0b2c6ea2fd5d
221+
activejob (8.1.3) sha256=a149b1766aa8204c3c3da7309e4becd40fcd5529c348cffbf6c9b16b565fe8d3
222+
activemodel (8.1.3) sha256=90c05cbe4cef3649b8f79f13016191ea94c4525ce4a5c0fb7ef909c4b91c8219
223+
activerecord (8.1.3) sha256=8003be7b2466ba0a2a670e603eeb0a61dd66058fccecfc49901e775260ac70ab
224+
activestorage (8.1.3) sha256=0564ce9309143951a67615e1bb4e090ee54b8befed417133cae614479b46384d
225+
activesupport (8.1.3) sha256=21a5e0dfbd4c3ddd9e1317ec6a4d782fa226e7867dc70b0743acda81a1dca20e
226+
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
227+
bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
228+
builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
229+
concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
230+
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
231+
crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
232+
date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
233+
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
234+
erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9
235+
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
236+
globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11
237+
i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
238+
io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
239+
irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
240+
json (2.19.4) sha256=670a7d333fb3b18ca5b29cb255eb7bef099e40d88c02c80bd42a3f30fe5239ac
241+
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
242+
loofah (2.25.1) sha256=d436c73dbd0c1147b16c4a41db097942d217303e1f7728704b37e4df9f6d2e04
243+
mail (2.9.0) sha256=6fa6673ecd71c60c2d996260f9ee3dd387d4673b8169b502134659ece6d34941
244+
marcel (1.1.0) sha256=fdcfcfa33cc52e93c4308d40e4090a5d4ea279e160a7f6af988260fa970e0bee
245+
mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
246+
minitest (6.0.5) sha256=f007d7246bf4feea549502842cd7c6aba8851cdc9c90ba06de9c476c0d01155c
247+
net-imap (0.6.4) sha256=9a5598c67a3022c284d98430ef1d4948e7dbdb62596f61081ea8ca933270a02b
248+
net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
249+
net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
250+
net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
251+
nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
252+
nokogiri (1.19.2-arm64-darwin) sha256=58d8ea2e31a967b843b70487a44c14c8ba1866daa1b9da9be9dbdf1b43dee205
253+
nokogiri (1.19.2-x86_64-linux-gnu) sha256=fa8feca882b73e871a9845f3817a72e9734c8e974bdc4fbad6e4bc6e8076b94f
254+
pg (1.6.3-arm64-darwin) sha256=7240330b572e6355d7c75a7de535edb5dfcbd6295d9c7777df4d9dddfb8c0e5f
255+
pg (1.6.3-x86_64-linux) sha256=5d9e188c8f7a0295d162b7b88a768d8452a899977d44f3274d1946d67920ae8d
256+
pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6
257+
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
258+
prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
259+
psych (5.3.1) sha256=eb7a57cef10c9d70173ff74e739d843ac3b2c019a003de48447b2963d81b1974
260+
puma (7.2.0) sha256=bf8ef4ab514a4e6d4554cb4326b2004eba5036ae05cf765cfe51aba9706a72a8
261+
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
262+
rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
263+
rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
264+
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
265+
rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
266+
rails (8.1.3) sha256=6d017ba5348c98fc909753a8169b21d44de14d2a0b92d140d1a966834c3c9cd3
267+
rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
268+
rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89
269+
railties (8.1.3) sha256=913eb0e0cb520aac687ffd74916bd726d48fa21f47833c6292576ef6a286de22
270+
rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
271+
rdoc (7.2.0) sha256=8650f76cd4009c3b54955eb5d7e3a075c60a57276766ebf36f9085e8c9f23192
272+
reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
273+
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
274+
stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1
275+
thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
276+
thruster (0.1.20-arm64-darwin) sha256=630cf8c273f562063b92ea5ccd7a721d7ba6130cc422c823727f4744f6d0770e
277+
thruster (0.1.20-x86_64-linux) sha256=d579f252bf67aee6ba6d957e48f566b72e019d7657ba2f267a5db1e4d91d2479
278+
timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
279+
tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
280+
tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
281+
uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
282+
useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
283+
websocket-driver (0.8.0) sha256=ed0dba4b943c22f17f9a734817e808bc84cdce6a7e22045f5315aa57676d4962
284+
websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
285+
zeitwerk (2.7.5) sha256=d8da92128c09ea6ec62c949011b00ed4a20242b255293dd66bf41545398f73dd
286+
287+
BUNDLED WITH
288+
4.0.6

frameworks/rails/bin/thrust

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env ruby
2+
require "rubygems"
3+
require "bundler/setup"
4+
5+
load Gem.bin_path("thruster", "thrust")

0 commit comments

Comments
 (0)