modulorails 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.dockerignore +14 -0
- data/.gitignore +2 -0
- data/.travis.yml +23 -4
- data/Appraisals +18 -0
- data/CHANGELOG.md +12 -0
- data/Dockerfile.ruby25 +34 -0
- data/Dockerfile.ruby26 +28 -0
- data/Dockerfile.ruby27 +25 -0
- data/Dockerfile.ruby30 +25 -0
- data/Dockerfile.ruby31 +25 -0
- data/Gemfile.lock +59 -52
- data/README.md +16 -4
- data/Rakefile +1 -1
- data/docker-compose.yml +37 -0
- data/entrypoints/appraisal_test.sh +7 -0
- data/gemfiles/rails_52.gemfile +9 -0
- data/gemfiles/rails_60.gemfile +9 -0
- data/gemfiles/rails_61.gemfile +9 -0
- data/gemfiles/rails_70.gemfile +9 -0
- data/lib/generators/{docker → modulorails/docker}/docker_generator.rb +1 -1
- data/lib/generators/{docker → modulorails/docker}/templates/Dockerfile.prod.tt +14 -9
- data/lib/generators/{docker → modulorails/docker}/templates/Dockerfile.tt +5 -7
- data/lib/generators/{docker → modulorails/docker}/templates/config/database.yml.tt +11 -0
- data/lib/generators/{docker → modulorails/docker}/templates/docker-compose.prod.yml.tt +18 -4
- data/lib/generators/modulorails/docker/templates/docker-compose.yml.tt +71 -0
- data/lib/generators/{docker → modulorails/docker}/templates/entrypoints/docker-entrypoint.sh.tt +0 -0
- data/lib/generators/modulorails/docker/templates/entrypoints/webpack-entrypoint.sh.tt +7 -0
- data/lib/generators/{gitlabci → modulorails/gitlabci}/gitlabci_generator.rb +4 -23
- data/lib/generators/modulorails/gitlabci/templates/.gitlab-ci.yml.tt +118 -0
- data/lib/generators/modulorails/gitlabci/templates/.modulorails-gitlab-ci +6 -0
- data/lib/generators/{gitlabci → modulorails/gitlabci}/templates/config/database-ci.yml.tt +0 -0
- data/lib/generators/modulorails/healthcheck/health_check_generator.rb +41 -0
- data/lib/generators/modulorails/healthcheck/templates/.modulorails-health_check +6 -0
- data/lib/generators/modulorails/healthcheck/templates/config/initializers/health_check.rb.tt +100 -0
- data/lib/generators/modulorails/self_update/self_update_generator.rb +32 -0
- data/lib/modulorails/configuration.rb +8 -2
- data/lib/modulorails/data.rb +21 -2
- data/lib/modulorails/railtie.rb +19 -4
- data/lib/modulorails/validators/database_configuration.rb +1 -1
- data/lib/modulorails/version.rb +1 -1
- data/lib/modulorails.rb +34 -15
- data/modulorails.gemspec +2 -0
- metadata +69 -24
- data/lib/generators/docker/templates/docker-compose.yml.tt +0 -37
- data/lib/generators/gitlabci/templates/.gitlab-ci.yml.tt +0 -79
- data/lib/generators/gitlabci/templates/.modulorails-gitlab-ci +0 -3
- data/lib/modulorails/updater.rb +0 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f695c4454203bb2d22353b7cff523da2315c7ce5472300208f1774d6aed2be5a
|
4
|
+
data.tar.gz: f02062f1a5878154caa982fbf70dd5d584cdd1b07a90f5614aa4e01d27b79b20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93943d5cd4726cce846e10c09149ff39b19adadbdf823a3ffc4032e524184ebd1fd50a83be07286ea50938062995df3a6166edd206461efeb400b85e00101d31
|
7
|
+
data.tar.gz: 92b4689741e9468f395656200ff35096553e332e84958892adaedccfb6b14fb674f01078ae3a8588d104838d9e080422de7ae414224add37ed0c9a533aaf0508
|
data/.dockerignore
ADDED
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,9 +1,28 @@
|
|
1
1
|
---
|
2
2
|
language: ruby
|
3
3
|
cache: bundler
|
4
|
-
|
5
|
-
|
6
|
-
- 2.
|
7
|
-
- 2.
|
4
|
+
|
5
|
+
ruby:
|
6
|
+
- '2.5'
|
7
|
+
- '2.6'
|
8
|
+
- '2.7'
|
9
|
+
- '3.0'
|
10
|
+
- '3.1'
|
11
|
+
|
8
12
|
before_install:
|
9
13
|
- gem install bundler -v 2.1.4
|
14
|
+
|
15
|
+
gemfile:
|
16
|
+
- gemfiles/rails_52.gemfile
|
17
|
+
- gemfiles/rails_60.gemfile
|
18
|
+
- gemfiles/rails_61.gemfile
|
19
|
+
- gemfiles/rails_70.gemfile
|
20
|
+
|
21
|
+
matrix:
|
22
|
+
exclude:
|
23
|
+
- gemfile: gemfiles/rails_70.gemfile
|
24
|
+
ruby: 2.5
|
25
|
+
- gemfile: gemfiles/rails_70.gemfile
|
26
|
+
ruby: 2.6
|
27
|
+
|
28
|
+
script: bundle exec rake spec
|
data/Appraisals
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
appraise "rails-52" do
|
2
|
+
gem 'rails', '~> 5.2', '>= 5.2.6'
|
3
|
+
end
|
4
|
+
|
5
|
+
appraise "rails-60" do
|
6
|
+
gem 'rails', '~> 6.0', '>= 6.0.4.4'
|
7
|
+
end
|
8
|
+
|
9
|
+
appraise "rails-61" do
|
10
|
+
gem 'rails', '~> 6.1', '>= 6.1.4.4'
|
11
|
+
end
|
12
|
+
|
13
|
+
# Rails 7 requires at least Ruby 2.7
|
14
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.7')
|
15
|
+
appraise "rails-70" do
|
16
|
+
gem 'rails', '~> 7.0'
|
17
|
+
end
|
18
|
+
end
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,18 @@
|
|
2
2
|
|
3
3
|
This file is used to list changes made in each version of the gem.
|
4
4
|
|
5
|
+
# 0.4.0
|
6
|
+
|
7
|
+
Fixes, updates and health_check release.
|
8
|
+
|
9
|
+
- Update generators for Docker and Gitlab CI.
|
10
|
+
- Move all generators under the `modulorails` namespace.
|
11
|
+
- Add dependency to `health_check` gem.
|
12
|
+
- Fix error on database configuration validator when no database.yml exists.
|
13
|
+
- Rescue if httparty can't post to configuration.endpoint.
|
14
|
+
- Add dockerfiles to test on many Ruby versions.
|
15
|
+
- Add appraisal to test on many Rails versions.
|
16
|
+
|
5
17
|
# 0.3.0
|
6
18
|
|
7
19
|
Docker release.
|
data/Dockerfile.ruby25
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
#
|
2
|
+
# BUILD IMAGE
|
3
|
+
#
|
4
|
+
FROM ruby:2.5-alpine
|
5
|
+
|
6
|
+
WORKDIR /app
|
7
|
+
|
8
|
+
RUN apk add --update --no-cache \
|
9
|
+
alpine-sdk \
|
10
|
+
tzdata
|
11
|
+
|
12
|
+
RUN gem install bundler
|
13
|
+
|
14
|
+
# Your RubyGems version (3.0.3)) has a bug that prevents `required_ruby_version` from working for
|
15
|
+
# Bundler. Any scripts that use `gem install bundler` will break as soon as Bundler drops support
|
16
|
+
# for your Ruby version. Please upgrade RubyGems to avoid future breakage and silence this warning
|
17
|
+
# by running `gem update --system 3.2.3`
|
18
|
+
RUN gem update --system 3.2.3
|
19
|
+
|
20
|
+
COPY . .
|
21
|
+
|
22
|
+
RUN bundle config set specific_platform true
|
23
|
+
|
24
|
+
# Ensure the use of a Gemfile working with Ruby 2.5
|
25
|
+
RUN sed -e 's/"..\/"/".\/"/' gemfiles/rails_52.gemfile > Gemfile
|
26
|
+
|
27
|
+
# Install the basic dependencies
|
28
|
+
RUN bundle install
|
29
|
+
|
30
|
+
# Install dependencies for all supported Rails versions
|
31
|
+
RUN bundle exec appraisal install
|
32
|
+
|
33
|
+
# Run the tests
|
34
|
+
CMD ['./entrypoints/appraisal_test.sh']
|
data/Dockerfile.ruby26
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#
|
2
|
+
# BUILD IMAGE
|
3
|
+
#
|
4
|
+
FROM ruby:2.6-alpine
|
5
|
+
|
6
|
+
WORKDIR /app
|
7
|
+
|
8
|
+
RUN apk add --update --no-cache \
|
9
|
+
alpine-sdk \
|
10
|
+
tzdata
|
11
|
+
|
12
|
+
RUN gem install bundler
|
13
|
+
|
14
|
+
COPY . .
|
15
|
+
|
16
|
+
RUN bundle config set specific_platform true
|
17
|
+
|
18
|
+
# Ensure the use of a Gemfile working with Ruby 2.6
|
19
|
+
RUN sed -e 's/"..\/"/".\/"/' gemfiles/rails_52.gemfile > Gemfile
|
20
|
+
|
21
|
+
# Install the basic dependencies
|
22
|
+
RUN bundle install
|
23
|
+
|
24
|
+
# Install dependencies for all supported Rails versions
|
25
|
+
RUN bundle exec appraisal install
|
26
|
+
|
27
|
+
# Run the tests
|
28
|
+
CMD ['./entrypoints/appraisal_test.sh']
|
data/Dockerfile.ruby27
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#
|
2
|
+
# BUILD IMAGE
|
3
|
+
#
|
4
|
+
FROM ruby:2.7-alpine
|
5
|
+
|
6
|
+
WORKDIR /app
|
7
|
+
|
8
|
+
RUN apk add --update --no-cache \
|
9
|
+
alpine-sdk \
|
10
|
+
tzdata
|
11
|
+
|
12
|
+
RUN gem install bundler
|
13
|
+
|
14
|
+
COPY . .
|
15
|
+
|
16
|
+
RUN bundle config set specific_platform true
|
17
|
+
|
18
|
+
# Install the basic dependencies
|
19
|
+
RUN bundle install
|
20
|
+
|
21
|
+
# Install dependencies for all supported Rails versions
|
22
|
+
RUN bundle exec appraisal install
|
23
|
+
|
24
|
+
# Run the tests
|
25
|
+
CMD ['./entrypoints/appraisal_test.sh']
|
data/Dockerfile.ruby30
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#
|
2
|
+
# BUILD IMAGE
|
3
|
+
#
|
4
|
+
FROM ruby:3.0-alpine
|
5
|
+
|
6
|
+
WORKDIR /app
|
7
|
+
|
8
|
+
RUN apk add --update --no-cache \
|
9
|
+
alpine-sdk \
|
10
|
+
tzdata
|
11
|
+
|
12
|
+
RUN gem install bundler
|
13
|
+
|
14
|
+
COPY . .
|
15
|
+
|
16
|
+
RUN bundle config set specific_platform true
|
17
|
+
|
18
|
+
# Install the basic dependencies
|
19
|
+
RUN bundle install
|
20
|
+
|
21
|
+
# Install dependencies for all supported Rails versions
|
22
|
+
RUN bundle exec appraisal install
|
23
|
+
|
24
|
+
# Run the tests
|
25
|
+
CMD ['./entrypoints/appraisal_test.sh']
|
data/Dockerfile.ruby31
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#
|
2
|
+
# BUILD IMAGE
|
3
|
+
#
|
4
|
+
FROM ruby:3.1-alpine
|
5
|
+
|
6
|
+
WORKDIR /app
|
7
|
+
|
8
|
+
RUN apk add --update --no-cache \
|
9
|
+
alpine-sdk \
|
10
|
+
tzdata
|
11
|
+
|
12
|
+
RUN gem install bundler
|
13
|
+
|
14
|
+
COPY . .
|
15
|
+
|
16
|
+
RUN bundle config set specific_platform true
|
17
|
+
|
18
|
+
# Install the basic dependencies
|
19
|
+
RUN bundle install
|
20
|
+
|
21
|
+
# Install dependencies for all supported Rails versions
|
22
|
+
RUN bundle exec appraisal install
|
23
|
+
|
24
|
+
# Run the tests
|
25
|
+
CMD ['./entrypoints/appraisal_test.sh']
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
modulorails (0.
|
4
|
+
modulorails (0.4.0)
|
5
5
|
git (~> 1.7, >= 1.7.0)
|
6
|
+
health_check (~> 3.1)
|
6
7
|
httparty
|
7
8
|
i18n
|
8
9
|
railties (>= 4.2.0)
|
@@ -10,97 +11,103 @@ PATH
|
|
10
11
|
GEM
|
11
12
|
remote: https://rubygems.org/
|
12
13
|
specs:
|
13
|
-
actionpack (
|
14
|
-
actionview (=
|
15
|
-
activesupport (=
|
16
|
-
rack (~> 2.0, >= 2.0
|
14
|
+
actionpack (7.0.0)
|
15
|
+
actionview (= 7.0.0)
|
16
|
+
activesupport (= 7.0.0)
|
17
|
+
rack (~> 2.0, >= 2.2.0)
|
17
18
|
rack-test (>= 0.6.3)
|
18
19
|
rails-dom-testing (~> 2.0)
|
19
20
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
20
|
-
actionview (
|
21
|
-
activesupport (=
|
21
|
+
actionview (7.0.0)
|
22
|
+
activesupport (= 7.0.0)
|
22
23
|
builder (~> 3.1)
|
23
24
|
erubi (~> 1.4)
|
24
25
|
rails-dom-testing (~> 2.0)
|
25
26
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
26
|
-
activemodel (
|
27
|
-
activesupport (=
|
28
|
-
activerecord (
|
29
|
-
activemodel (=
|
30
|
-
activesupport (=
|
31
|
-
activesupport (
|
27
|
+
activemodel (7.0.0)
|
28
|
+
activesupport (= 7.0.0)
|
29
|
+
activerecord (7.0.0)
|
30
|
+
activemodel (= 7.0.0)
|
31
|
+
activesupport (= 7.0.0)
|
32
|
+
activesupport (7.0.0)
|
32
33
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
33
|
-
i18n (>=
|
34
|
-
minitest (
|
35
|
-
tzinfo (~>
|
36
|
-
|
34
|
+
i18n (>= 1.6, < 2)
|
35
|
+
minitest (>= 5.1)
|
36
|
+
tzinfo (~> 2.0)
|
37
|
+
appraisal (2.4.1)
|
38
|
+
bundler
|
39
|
+
rake
|
40
|
+
thor (>= 0.14.0)
|
37
41
|
builder (3.2.4)
|
38
|
-
concurrent-ruby (1.1.
|
42
|
+
concurrent-ruby (1.1.9)
|
39
43
|
crass (1.0.6)
|
40
|
-
diff-lcs (1.
|
44
|
+
diff-lcs (1.5.0)
|
41
45
|
erubi (1.10.0)
|
42
|
-
git (1.
|
46
|
+
git (1.10.2)
|
43
47
|
rchardet (~> 1.8)
|
44
|
-
|
48
|
+
health_check (3.1.0)
|
49
|
+
railties (>= 5.0)
|
50
|
+
httparty (0.20.0)
|
45
51
|
mime-types (~> 3.0)
|
46
52
|
multi_xml (>= 0.5.2)
|
47
|
-
i18n (1.8.
|
53
|
+
i18n (1.8.11)
|
48
54
|
concurrent-ruby (~> 1.0)
|
49
|
-
loofah (2.
|
55
|
+
loofah (2.13.0)
|
50
56
|
crass (~> 1.0.2)
|
51
57
|
nokogiri (>= 1.5.9)
|
52
58
|
method_source (1.0.0)
|
53
|
-
mime-types (3.
|
59
|
+
mime-types (3.4.1)
|
54
60
|
mime-types-data (~> 3.2015)
|
55
|
-
mime-types-data (3.
|
56
|
-
minitest (5.
|
61
|
+
mime-types-data (3.2022.0105)
|
62
|
+
minitest (5.15.0)
|
57
63
|
multi_xml (0.6.0)
|
58
|
-
nokogiri (1.
|
64
|
+
nokogiri (1.13.1-aarch64-linux)
|
59
65
|
racc (~> 1.4)
|
60
|
-
racc (1.
|
66
|
+
racc (1.6.0)
|
61
67
|
rack (2.2.3)
|
62
68
|
rack-test (1.1.0)
|
63
69
|
rack (>= 1.0, < 3)
|
64
70
|
rails-dom-testing (2.0.3)
|
65
71
|
activesupport (>= 4.2.0)
|
66
72
|
nokogiri (>= 1.6)
|
67
|
-
rails-html-sanitizer (1.
|
73
|
+
rails-html-sanitizer (1.4.2)
|
68
74
|
loofah (~> 2.3)
|
69
|
-
railties (
|
70
|
-
actionpack (=
|
71
|
-
activesupport (=
|
75
|
+
railties (7.0.0)
|
76
|
+
actionpack (= 7.0.0)
|
77
|
+
activesupport (= 7.0.0)
|
72
78
|
method_source
|
73
|
-
rake (>=
|
74
|
-
thor (
|
79
|
+
rake (>= 12.2)
|
80
|
+
thor (~> 1.0)
|
81
|
+
zeitwerk (~> 2.5)
|
75
82
|
rake (12.3.3)
|
76
83
|
rchardet (1.8.0)
|
77
|
-
rspec (3.
|
78
|
-
rspec-core (~> 3.
|
79
|
-
rspec-expectations (~> 3.
|
80
|
-
rspec-mocks (~> 3.
|
81
|
-
rspec-core (3.
|
82
|
-
rspec-support (~> 3.
|
83
|
-
rspec-expectations (3.
|
84
|
+
rspec (3.10.0)
|
85
|
+
rspec-core (~> 3.10.0)
|
86
|
+
rspec-expectations (~> 3.10.0)
|
87
|
+
rspec-mocks (~> 3.10.0)
|
88
|
+
rspec-core (3.10.1)
|
89
|
+
rspec-support (~> 3.10.0)
|
90
|
+
rspec-expectations (3.10.1)
|
84
91
|
diff-lcs (>= 1.2.0, < 2.0)
|
85
|
-
rspec-support (~> 3.
|
86
|
-
rspec-mocks (3.
|
92
|
+
rspec-support (~> 3.10.0)
|
93
|
+
rspec-mocks (3.10.2)
|
87
94
|
diff-lcs (>= 1.2.0, < 2.0)
|
88
|
-
rspec-support (~> 3.
|
89
|
-
rspec-support (3.
|
90
|
-
thor (1.1
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
zeitwerk (2.4.0)
|
95
|
+
rspec-support (~> 3.10.0)
|
96
|
+
rspec-support (3.10.3)
|
97
|
+
thor (1.2.1)
|
98
|
+
tzinfo (2.0.4)
|
99
|
+
concurrent-ruby (~> 1.0)
|
100
|
+
zeitwerk (2.5.3)
|
95
101
|
|
96
102
|
PLATFORMS
|
97
|
-
|
103
|
+
aarch64-linux
|
98
104
|
|
99
105
|
DEPENDENCIES
|
100
106
|
activerecord (>= 4.2.0)
|
107
|
+
appraisal
|
101
108
|
modulorails!
|
102
109
|
rake (~> 12.0)
|
103
110
|
rspec (~> 3.0)
|
104
111
|
|
105
112
|
BUNDLED WITH
|
106
|
-
2.
|
113
|
+
2.3.3
|
data/README.md
CHANGED
@@ -10,7 +10,7 @@ provides templates for the common configurations and defines common dependencies
|
|
10
10
|
Add this line to your application's Gemfile:
|
11
11
|
|
12
12
|
```ruby
|
13
|
-
gem 'modulorails'
|
13
|
+
gem 'modulorails'
|
14
14
|
```
|
15
15
|
|
16
16
|
And then execute:
|
@@ -33,9 +33,21 @@ end
|
|
33
33
|
|
34
34
|
## Development
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
There are tests in `spec`. To run tests:
|
37
|
+
- Build Docker images using `docker compose build`.
|
38
|
+
- You can run tests on all supported Ruby versions using `docker compose up`.
|
39
|
+
- Or you can run test on a specific Ruby version using one of the following commands:
|
40
|
+
- Ruby 2.5: `docker compose run ruby25`
|
41
|
+
- Ruby 2.6: `docker compose run ruby26`
|
42
|
+
- Ruby 2.7: `docker compose run ruby27`
|
43
|
+
- Ruby 3.0: `docker compose run ruby30`
|
44
|
+
- Ruby 3.1: `docker compose run ruby31`
|
45
|
+
|
46
|
+
[Appraisal](https://github.com/thoughtbot/appraisal) is used to test the gem against many supported Rails versions:
|
47
|
+
- Rails 5.2, 6.0 and 6.1 on Ruby 2.5 and 2.6.
|
48
|
+
- Rails 5.2, 6.0, 6.1 and 7.0 on Ruby 2.7, 3.0 and 3.1.
|
49
|
+
|
50
|
+
Travis CI is configured to automatically run tests in all supported Ruby versions and dependency sets after each push.
|
39
51
|
|
40
52
|
## Contributing
|
41
53
|
|
data/Rakefile
CHANGED
data/docker-compose.yml
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
version: '3.7'
|
2
|
+
|
3
|
+
services:
|
4
|
+
ruby25:
|
5
|
+
image: modulotechgroup/modulorails:testruby25
|
6
|
+
build:
|
7
|
+
context: .
|
8
|
+
dockerfile: Dockerfile.ruby25
|
9
|
+
command: ./entrypoints/appraisal_test.sh
|
10
|
+
|
11
|
+
ruby26:
|
12
|
+
image: modulotechgroup/modulorails:testruby26
|
13
|
+
build:
|
14
|
+
context: .
|
15
|
+
dockerfile: Dockerfile.ruby26
|
16
|
+
command: ./entrypoints/appraisal_test.sh
|
17
|
+
|
18
|
+
ruby27:
|
19
|
+
image: modulotechgroup/modulorails:testruby27
|
20
|
+
build:
|
21
|
+
context: .
|
22
|
+
dockerfile: Dockerfile.ruby27
|
23
|
+
command: ./entrypoints/appraisal_test.sh
|
24
|
+
|
25
|
+
ruby30:
|
26
|
+
image: modulotechgroup/modulorails:testruby30
|
27
|
+
build:
|
28
|
+
context: .
|
29
|
+
dockerfile: Dockerfile.ruby30
|
30
|
+
command: ./entrypoints/appraisal_test.sh
|
31
|
+
|
32
|
+
ruby31:
|
33
|
+
image: modulotechgroup/modulorails:testruby31
|
34
|
+
build:
|
35
|
+
context: .
|
36
|
+
dockerfile: Dockerfile.ruby31
|
37
|
+
command: ./entrypoints/appraisal_test.sh
|
@@ -1,4 +1,3 @@
|
|
1
|
-
FROM surnet/alpine-wkhtmltopdf:3.12-0.12.6-small as wkhtmltopdf
|
2
1
|
# BUILD IMAGE
|
3
2
|
FROM ruby:<%= Modulorails.data.ruby_version %>-alpine as builder
|
4
3
|
|
@@ -7,12 +6,16 @@ WORKDIR /app
|
|
7
6
|
|
8
7
|
RUN apk add --update --no-cache \
|
9
8
|
alpine-sdk \
|
10
|
-
mysql-dev \
|
11
9
|
nodejs \
|
12
|
-
sqlite-dev \
|
13
10
|
tzdata \
|
14
11
|
yarn \
|
15
|
-
shared-mime-info
|
12
|
+
shared-mime-info \
|
13
|
+
<%- adapter = Modulorails.data.adapter -%>
|
14
|
+
<%- if adapter =~ /mysql/ -%>
|
15
|
+
mysql-dev
|
16
|
+
<%- else -%>
|
17
|
+
postgresql-dev
|
18
|
+
<%- end -%>
|
16
19
|
RUN gem install bundler -v <%= Modulorails.data.bundler_version %>
|
17
20
|
|
18
21
|
COPY Gemfile Gemfile.lock ./
|
@@ -33,15 +36,17 @@ WORKDIR /app
|
|
33
36
|
RUN apk add --update --no-cache \
|
34
37
|
curl \
|
35
38
|
git \
|
36
|
-
mysql-dev \
|
37
39
|
nodejs \
|
38
|
-
sqlite-dev \
|
39
40
|
tzdata \
|
40
|
-
shared-mime-info
|
41
|
+
shared-mime-info \
|
42
|
+
<%- adapter = Modulorails.data.adapter -%>
|
43
|
+
<%- if adapter =~ /mysql/ -%>
|
44
|
+
mysql-dev \
|
45
|
+
<%- else -%>
|
46
|
+
postgresql-dev \
|
47
|
+
<%- end -%>
|
41
48
|
&& rm -rf .git/
|
42
49
|
|
43
|
-
# Replace segfault version with patched one
|
44
|
-
COPY --from=wkhtmltopdf /bin/wkhtmltopdf /usr/bin/wkhtmltopdf
|
45
50
|
COPY --from=builder /app .
|
46
51
|
|
47
52
|
RUN bundle config --local path vendor/bundle \
|
@@ -1,6 +1,3 @@
|
|
1
|
-
# Import wkhtmltopdf with qt patched because from alpine it's not and segfault
|
2
|
-
FROM surnet/alpine-wkhtmltopdf:3.12-0.12.6-small as wkhtmltopdf
|
3
|
-
|
4
1
|
FROM ruby:<%= Modulorails.data.ruby_version %>-alpine
|
5
2
|
|
6
3
|
ENV RAILS_ENV=development
|
@@ -10,9 +7,13 @@ RUN apk add --update --no-cache \
|
|
10
7
|
alpine-sdk \
|
11
8
|
nodejs \
|
12
9
|
yarn \
|
13
|
-
sqlite-dev \
|
14
10
|
tzdata \
|
11
|
+
<%- adapter = Modulorails.data.adapter -%>
|
12
|
+
<%- if adapter =~ /mysql/ -%>
|
15
13
|
mysql-dev
|
14
|
+
<%- else -%>
|
15
|
+
postgresql-dev
|
16
|
+
<%- end -%>
|
16
17
|
RUN gem install bundler -v <%= Modulorails.data.bundler_version %>
|
17
18
|
|
18
19
|
COPY Gemfile Gemfile.lock ./
|
@@ -20,9 +21,6 @@ RUN bundle install --jobs=2
|
|
20
21
|
|
21
22
|
COPY . .
|
22
23
|
|
23
|
-
# Replace segfault version with patched one
|
24
|
-
COPY --from=wkhtmltopdf /bin/wkhtmltopdf /usr/bin/wkhtmltopdf
|
25
|
-
|
26
24
|
EXPOSE 3000
|
27
25
|
|
28
26
|
ENTRYPOINT ["./entrypoints/docker-entrypoint.sh"]
|
@@ -1,5 +1,7 @@
|
|
1
1
|
<%- image_name = Modulorails.data.name.parameterize -%>
|
2
2
|
<%- upper_image_name = image_name.upcase -%>
|
3
|
+
<%- adapter = Modulorails.data.adapter -%>
|
4
|
+
<%- if adapter =~ /mysql/ -%>
|
3
5
|
development: &default
|
4
6
|
adapter: mysql2
|
5
7
|
encoding: utf8mb4
|
@@ -9,6 +11,15 @@ development: &default
|
|
9
11
|
password: <%%= ENV.fetch('<%= upper_image_name %>_DATABASE_PASSWORD', '') %>
|
10
12
|
host: <%%= ENV.fetch('<%= upper_image_name %>_DATABASE_HOST', 'database') %>
|
11
13
|
port: <%%= ENV.fetch('<%= upper_image_name %>_DATABASE_PORT', 3306) %>
|
14
|
+
<%- else -%>
|
15
|
+
development: &default
|
16
|
+
adapter: pg
|
17
|
+
database: <%%= ENV.fetch('<%= upper_image_name %>_DATABASE_NAME', '<%= image_name %>') %>
|
18
|
+
username: <%%= ENV.fetch('<%= upper_image_name %>_DATABASE_USERNAME', 'postgres') %>
|
19
|
+
password: <%%= ENV.fetch('<%= upper_image_name %>_DATABASE_PASSWORD', 'postgres') %>
|
20
|
+
host: <%%= ENV.fetch('<%= upper_image_name %>_DATABASE_HOST', 'database') %>
|
21
|
+
port: <%%= ENV.fetch('<%= upper_image_name %>_DATABASE_PORT', 5432) %>
|
22
|
+
<%- end -%>
|
12
23
|
|
13
24
|
test:
|
14
25
|
<<: *default
|