forked from JSONAPI-Resources/jsonapi-resources
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
121 lines (108 loc) · 3.42 KB
/
docker-compose.yml
File metadata and controls
121 lines (108 loc) · 3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
services:
# Base service definition for Ruby 3.1.5 (Rails 6.1-8.1)
test-base: &test-base
build:
context: .
dockerfile: Dockerfile.ruby3.1
volumes:
- .:/app
- bundle-cache-ruby31:/usr/local/bundle
working_dir: /app
stdin_open: true
tty: true
# Base service definition for Ruby 2.7 (Rails 5.1-6.0)
test-base-ruby27: &test-base-ruby27
build:
context: .
dockerfile: Dockerfile.ruby2.7
volumes:
- .:/app
- bundle-cache-ruby27:/usr/local/bundle
working_dir: /app
stdin_open: true
tty: true
# Base service definition for Ruby 3.4 (Rails 8.0-8.1)
test-base-ruby34: &test-base-ruby34
build:
context: .
dockerfile: Dockerfile.ruby3.4
volumes:
- .:/app
- bundle-cache-ruby34:/usr/local/bundle
working_dir: /app
stdin_open: true
tty: true
# Rails 5.1.7
rails-5.1:
<<: *test-base-ruby27
container_name: jsonapi-rails-5.1
environment:
- RAILS_VERSION=5.1.7
command: bash -c "rm -f Gemfile.lock && bundle install && bundle exec rake test"
# Rails 5.2.8.1
rails-5.2:
<<: *test-base-ruby27
container_name: jsonapi-rails-5.2
environment:
- RAILS_VERSION=5.2.8.1
command: bash -c "rm -f Gemfile.lock && bundle install && bundle exec rake test"
# Rails 6.0.6
rails-6.0:
<<: *test-base-ruby27
container_name: jsonapi-rails-6.0
environment:
- RAILS_VERSION=6.0.6
command: bash -c "rm -f Gemfile.lock && bundle install && bundle exec rake test"
# Rails 6.1.7.10
rails-6.1:
<<: *test-base
container_name: jsonapi-rails-6.1
environment:
- RAILS_VERSION=6.1.7.10
command: bash -c "rm -f Gemfile.lock && /usr/local/bin/bundler _2.4.14_ install && /usr/local/bin/bundler _2.4.14_ exec rake test"
# Rails 7.0.10
rails-7.0:
<<: *test-base
container_name: jsonapi-rails-7.0
environment:
- RAILS_VERSION=7.0.10
command: bash -c "rm -f Gemfile.lock && /usr/local/bin/bundler _2.4.14_ install && /usr/local/bin/bundler _2.4.14_ exec rake test"
# Rails 7.1.6
rails-7.1:
<<: *test-base
container_name: jsonapi-rails-7.1
environment:
- RAILS_VERSION=7.1.6
command: bash -c "rm -f Gemfile.lock && /usr/local/bin/bundler _2.4.14_ install && /usr/local/bin/bundler _2.4.14_ exec rake test"
# Rails 7.2.3
rails-7.2:
<<: *test-base
container_name: jsonapi-rails-7.2
environment:
- RAILS_VERSION=7.2.3
command: bash -c "rm -f Gemfile.lock && /usr/local/bin/bundler _2.4.14_ install && /usr/local/bin/bundler _2.4.14_ exec rake test"
# Rails 8.0.4 (Ruby 3.4 required)
rails-8.0:
<<: *test-base-ruby34
container_name: jsonapi-rails-8.0
environment:
- RAILS_VERSION=8.0.4
command: bash -c "rm -f Gemfile.lock && /usr/local/bin/bundler _2.4.14_ install && /usr/local/bin/bundler _2.4.14_ exec rake test"
# Rails 8.1.2 (Ruby 3.4 required)
rails-8.1:
<<: *test-base-ruby34
container_name: jsonapi-rails-8.1
environment:
- RAILS_VERSION=8.1.2
command: bash -c "rm -f Gemfile.lock && /usr/local/bin/bundler _2.4.14_ install && /usr/local/bin/bundler _2.4.14_ exec rake test"
# Interactive shell for debugging (defaults to Rails 8.1)
shell:
<<: *test-base
container_name: jsonapi-shell
environment:
- RAILS_VERSION=${RAILS_VERSION:-8.1.2}
command: /bin/bash
volumes:
bundle-cache-ruby31:
bundle-cache-ruby27:
bundle-cache-ruby34: