roro 0.3.12 → 0.3.13
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 +5 -5
- data/.circleci/.keep +0 -0
- data/.circleci/config.yml +55 -0
- data/{lib/roro/cli/templates/ruby_gem → .circleci}/setup-gem-credentials.sh +1 -1
- data/.gitignore +2 -2
- data/docker-compose.yml +15 -0
- data/lib/roro/cli/rollon/stories/ruby_gem/with_ci_cd.rb +10 -46
- data/lib/roro/cli/templates/base/.dockerignore +2 -2
- data/lib/roro/cli/templates/ruby_gem/.circleci/.keep +0 -0
- data/lib/roro/cli/templates/ruby_gem/.circleci/config.yml.tt +40 -0
- data/lib/roro/cli/templates/ruby_gem/.circleci/setup-gem-credentials.sh +3 -0
- data/lib/roro/cli/templates/ruby_gem/docker-compose.yml +6 -2
- data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt +7 -7
- data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt +1 -0
- data/lib/roro/cli/templates/stories/rails/database/with_mysql/_service.yml +10 -0
- data/lib/roro/cli/templates/stories/rails/database/with_postgresql/.keep +0 -0
- data/lib/roro/cli/templates/stories/rails/database/with_postgresql/_service.yml +7 -0
- data/lib/roro/cli/templates/stories/ruby_gem/with_ci_cd/_build.yml +11 -0
- data/lib/roro/version.rb +1 -1
- data/roro.gemspec +1 -0
- data/roro/containers/.keep +0 -0
- data/roro/containers/ruby_image/Dockerfile +16 -0
- data/roro/containers/ruby_image/ci.env.enc +2 -0
- data/roro/keys/.keep +0 -0
- data/tmp/.keep +0 -0
- metadata +35 -6
- data/lib/roro/cli/templates/ruby_gem/.circleci/config.yml +0 -17
- data/lib/roro/cli/templates/ruby_gem/roro/ci.env.tt +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6b8dac88c95d43a7e4531d2b44849f30e1e37c9e
|
4
|
+
data.tar.gz: 20af42166d1cc70f7b20d327d8cbc8027255cc6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c05e7ff871bcfb14a52602ef71b3a331113ff87da423cca594fb07b41fb5463a432809e0526b8ca77987fb6838829c5ccacfc6e85e1823bf92d6d66a5c1bc3f9
|
7
|
+
data.tar.gz: db4039537980f16d922c0f08add246f66d1229b3055e0cfc0880f5bbdd968eca374d142639fb09d1b4d3d6246efac5dbe381239f516170e065ef3e72ab400366
|
data/.circleci/.keep
ADDED
File without changes
|
@@ -0,0 +1,55 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
jobs:
|
4
|
+
|
5
|
+
build:
|
6
|
+
machine: true
|
7
|
+
steps:
|
8
|
+
- checkout
|
9
|
+
|
10
|
+
test:
|
11
|
+
machine: true
|
12
|
+
steps:
|
13
|
+
- checkout
|
14
|
+
- run: RUBY_VERSION=2.5 docker-compose build ruby_gem
|
15
|
+
- run: RUBY_VERSION=2.5 docker-compose up -d --force-recreate ruby_gem
|
16
|
+
- run: RUBY_VERSION=2.5 docker-compose run ruby_gem bundle exec rake test
|
17
|
+
- run: RUBY_VERSION=2.6 docker-compose build ruby_gem
|
18
|
+
- run: RUBY_VERSION=2.6 docker-compose up -d --force-recreate ruby_gem
|
19
|
+
- run: RUBY_VERSION=2.6 docker-compose run ruby_gem bundle exec rake test
|
20
|
+
- run: RUBY_VERSION=2.7 docker-compose build ruby_gem
|
21
|
+
- run: RUBY_VERSION=2.7 docker-compose up -d --force-recreate ruby_gem
|
22
|
+
- run: RUBY_VERSION=2.7 docker-compose run ruby_gem bundle exec rake test
|
23
|
+
|
24
|
+
release:
|
25
|
+
machine: true
|
26
|
+
steps:
|
27
|
+
- checkout
|
28
|
+
- run: gem install roro
|
29
|
+
- run: roro generate::exposed ci
|
30
|
+
- run: |
|
31
|
+
echo $(cat ./roro/containers/ruby_image/ci.env) >> $BASH_ENV
|
32
|
+
source $BASH_ENV
|
33
|
+
- run: chmod +x ./.circleci/setup-gem-credentials.sh
|
34
|
+
- run: ./.circleci/setup-gem-credentials.sh
|
35
|
+
- run: chmod 0600 ~/.gem/credentials
|
36
|
+
- run: git checkout .
|
37
|
+
- run: gem release
|
38
|
+
|
39
|
+
workflows:
|
40
|
+
version: 2
|
41
|
+
|
42
|
+
build-release:
|
43
|
+
jobs:
|
44
|
+
- build
|
45
|
+
- test:
|
46
|
+
filters:
|
47
|
+
branches:
|
48
|
+
only: master
|
49
|
+
|
50
|
+
- release:
|
51
|
+
requires:
|
52
|
+
- build
|
53
|
+
filters:
|
54
|
+
branches:
|
55
|
+
only: release
|
data/.gitignore
CHANGED
data/docker-compose.yml
ADDED
@@ -2,7 +2,6 @@ module Roro
|
|
2
2
|
class CLI < Thor
|
3
3
|
|
4
4
|
desc "rollon::ruby_gem::with_ci_cd", "Generate files for containerized gem testing, CircleCI, and releasing to RubyGems."
|
5
|
-
method_option :rubies, type: :array, banner: "2.5.3 2.4.2"
|
6
5
|
map "rollon::ruby_gem::with_ci_cd" => "rollon_ruby_gem_with_ci_cd"
|
7
6
|
|
8
7
|
def rollon_ruby_gem_with_ci_cd(*args)
|
@@ -13,7 +12,7 @@ module Roro
|
|
13
12
|
def ruby_gem_with_ci_cd(*args)
|
14
13
|
configure_for_rollon
|
15
14
|
answer = ask("\nYou can add your rubygems api key in\n\t
|
16
|
-
'./roro/ci.env' \n\nlater, or we'll try to add it here:",
|
15
|
+
'./roro/containers/ruby_gem/ci.env' \n\nlater, or we'll try to add it here:",
|
17
16
|
default: '')
|
18
17
|
rubygems_api_key = (answer.eql?("") ? 'some-key' : answer)
|
19
18
|
@config.app['rubygems_api_key'] = rubygems_api_key
|
@@ -27,55 +26,20 @@ module Roro
|
|
27
26
|
copy_file 'ruby_gem/docker-compose.yml', './docker-compose.yml'
|
28
27
|
|
29
28
|
@config.app['rubies'].each do |ruby|
|
30
|
-
img_name = 'ruby_gem:' + ruby
|
31
29
|
file = '.circleci/config.yml'
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
30
|
+
spacer = "\n - run: "
|
31
|
+
rv = "RUBY_VERSION=#{ruby} docker-compose "
|
32
|
+
build = "build ruby_gem"
|
33
|
+
up = "up -d --force-recreate ruby_gem"
|
34
|
+
run_tests = "run ruby_gem bundle exec rake test"
|
35
|
+
append_to_file file, spacer + rv + run_tests, after: "- placeholder"
|
36
|
+
append_to_file file, spacer + rv + up, after: "- placeholder"
|
37
|
+
append_to_file file, spacer + rv + build, after: "- placeholder"
|
36
38
|
end
|
39
|
+
gsub_file '.circleci/config.yml', "- placeholder", "- checkout"
|
37
40
|
append_to_file ".gitignore", "\nGemfile.lock"
|
38
41
|
gitignore_sensitive_files
|
39
42
|
end
|
40
43
|
end
|
41
44
|
end
|
42
45
|
end
|
43
|
-
# # def ruby_gem
|
44
|
-
# # rubies = options["rubies"] || ["2.5.3", "2.6.0"]
|
45
|
-
# # copy_file 'ruby_gem/docker-compose.yml', 'docker-compose.yml'
|
46
|
-
# # copy_file 'ruby_gem/config.yml', '.circleci/config.yml'
|
47
|
-
# # copy_file 'ruby_gem/setup-gem-credentials.sh', '.circleci/setup-gem-credentials.sh'
|
48
|
-
# # directory 'ruby_gem/docker', 'docker', { ruby_version: "2.5"}
|
49
|
-
|
50
|
-
# # rubies.each do |ruby|
|
51
|
-
# # rubydash = ruby.gsub('.', '-')
|
52
|
-
# # rubyunderscore = ruby.gsub('.', '_')
|
53
|
-
# # doc_loc = "docker/containers/#{rubyunderscore}/Dockerfile"
|
54
|
-
# # content = <<-EOM
|
55
|
-
|
56
|
-
# # app-#{rubydash}:
|
57
|
-
# # build:
|
58
|
-
# # context: .
|
59
|
-
# # dockerfile: #{doc_loc}
|
60
|
-
# # command: rake test
|
61
|
-
# # EOM
|
62
|
-
# # append_to_file 'docker-compose.yml', content
|
63
|
-
# # template 'ruby_gem/docker/containers/app/Dockerfile.tt', doc_loc, {ruby_version: ruby}
|
64
|
-
# # # append_to_file 'docker-compose.yml', "\n app-#{ruby}:\n build:\n\s\s\s\s\s\scontext:"
|
65
|
-
# # end
|
66
|
-
|
67
|
-
# # # end
|
68
|
-
# # # <<EOF
|
69
|
-
# # # This is the first way of creating
|
70
|
-
# # # here document ie. multiple line string.
|
71
|
-
# # # EOF
|
72
|
-
# # # %w[app web].each do |container|
|
73
|
-
# # # options = {
|
74
|
-
# # # email: @env_hash['DOCKERHUB_EMAIL'],
|
75
|
-
# # # app_name: @env_hash['APP_NAME'] }
|
76
|
-
# # #
|
77
|
-
# # # template("docker/containers/#{container}/Dockerfile.tt", "docker/containers/#{container}/Dockerfile", options)
|
78
|
-
# # # end
|
79
|
-
# # end
|
80
|
-
# # end
|
81
|
-
# # end
|
File without changes
|
@@ -0,0 +1,40 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
jobs:
|
4
|
+
|
5
|
+
build:
|
6
|
+
machine: true
|
7
|
+
steps:
|
8
|
+
- checkout
|
9
|
+
|
10
|
+
test:
|
11
|
+
machine: true
|
12
|
+
steps:
|
13
|
+
- placeholder
|
14
|
+
|
15
|
+
release:
|
16
|
+
machine: true
|
17
|
+
steps:
|
18
|
+
- checkout
|
19
|
+
- run: gem install roro
|
20
|
+
- run: roro generate::exposed ci
|
21
|
+
- run: echo 'source roro/containers/ruby_image/ci.env' >> $BASH_ENV
|
22
|
+
- run: chmod +x ./.circleci/setup-gem-credentials.sh
|
23
|
+
- run: ./.circleci/setup-gem-credentials.sh
|
24
|
+
- run: cat ~/.gem/credentials
|
25
|
+
- run: git checkout .
|
26
|
+
- run: gem release
|
27
|
+
|
28
|
+
workflows:
|
29
|
+
version: 2
|
30
|
+
|
31
|
+
build-release:
|
32
|
+
jobs:
|
33
|
+
- build
|
34
|
+
- test
|
35
|
+
- release:
|
36
|
+
requires:
|
37
|
+
- build
|
38
|
+
filters:
|
39
|
+
branches:
|
40
|
+
only: release
|
@@ -1,16 +1,16 @@
|
|
1
|
-
ARG
|
1
|
+
ARG RUBY_VERSION=<%= config['ruby_version'] %>
|
2
|
+
ARG RUBY_IMAGE=ruby:${RUBY_VERSION}-alpine
|
2
3
|
FROM $RUBY_IMAGE
|
3
4
|
|
4
5
|
RUN apk add --no-cache --update build-base linux-headers git
|
5
6
|
|
6
7
|
ENV APP_HOME /usr/src/app/
|
8
|
+
ENV BUNDLE_PATH /gems
|
9
|
+
ENV GEM_PATH ${BUNDLE_PATH}
|
10
|
+
ENV GEM_HOME ${BUNDLE_PATH}
|
7
11
|
|
8
|
-
RUN mkdir ${
|
9
|
-
|
12
|
+
RUN mkdir ${BUNDLE_PATH}
|
10
13
|
|
11
14
|
WORKDIR ${APP_HOME}
|
12
|
-
|
13
|
-
|
14
15
|
COPY . ${APP_HOME}
|
15
|
-
RUN
|
16
|
-
RUN bundle
|
16
|
+
RUN bundle install
|
@@ -0,0 +1 @@
|
|
1
|
+
export RUBYGEMS_API_KEY=<%= config['rubygems_api_key'] %>
|
File without changes
|
@@ -0,0 +1,11 @@
|
|
1
|
+
build:
|
2
|
+
machine: true
|
3
|
+
steps:
|
4
|
+
- checkout
|
5
|
+
|
6
|
+
<%= 'getsome' %>
|
7
|
+
- run: gem install roro
|
8
|
+
- run: roro generate::exposed ci
|
9
|
+
- run: echo 'source roro/containers/ruby_image/ci.env' >> $BASH_ENV
|
10
|
+
- run: gem install gem-release
|
11
|
+
# - run: gem release --key $RUBYGEMS_API_KEY
|
data/lib/roro/version.rb
CHANGED
data/roro.gemspec
CHANGED
File without changes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
ARG RUBY_VERSION=2.7
|
2
|
+
ARG RUBY_IMAGE=ruby:${RUBY_VERSION}-alpine
|
3
|
+
FROM $RUBY_IMAGE
|
4
|
+
|
5
|
+
RUN apk add --no-cache --update build-base linux-headers git
|
6
|
+
|
7
|
+
ENV APP_HOME /usr/src/app/
|
8
|
+
ENV BUNDLE_PATH /gems
|
9
|
+
ENV GEM_PATH ${BUNDLE_PATH}
|
10
|
+
ENV GEM_HOME ${BUNDLE_PATH}
|
11
|
+
|
12
|
+
RUN mkdir ${BUNDLE_PATH}
|
13
|
+
|
14
|
+
WORKDIR ${APP_HOME}
|
15
|
+
COPY . ${APP_HOME}
|
16
|
+
RUN bundle install
|
data/roro/keys/.keep
ADDED
File without changes
|
data/tmp/.keep
ADDED
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- schadenfred
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem-release
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: byebug
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
139
153
|
description: Roro is a containerization and continuous integration framework for Ruby
|
140
154
|
on Rails applications. Like Rails, it favors convention over configuration "...for
|
141
155
|
programmer happiness and sustainable productivity."
|
@@ -146,6 +160,9 @@ executables:
|
|
146
160
|
extensions: []
|
147
161
|
extra_rdoc_files: []
|
148
162
|
files:
|
163
|
+
- ".circleci/.keep"
|
164
|
+
- ".circleci/config.yml"
|
165
|
+
- ".circleci/setup-gem-credentials.sh"
|
149
166
|
- ".gitignore"
|
150
167
|
- ".ruby-gemset"
|
151
168
|
- ".travis.yml"
|
@@ -158,6 +175,7 @@ files:
|
|
158
175
|
- bin/console
|
159
176
|
- bin/roro
|
160
177
|
- bin/setup
|
178
|
+
- docker-compose.yml
|
161
179
|
- lib/roro.rb
|
162
180
|
- lib/roro/cli.rb
|
163
181
|
- lib/roro/cli/base/base.rb
|
@@ -216,21 +234,31 @@ files:
|
|
216
234
|
- lib/roro/cli/templates/roro/roro/containers/app/.keep
|
217
235
|
- lib/roro/cli/templates/roro/roro/containers/frontend/.keep
|
218
236
|
- lib/roro/cli/templates/roro/roro/docker-entrypoint.sh.tt
|
219
|
-
- lib/roro/cli/templates/ruby_gem/.circleci
|
237
|
+
- lib/roro/cli/templates/ruby_gem/.circleci/.keep
|
238
|
+
- lib/roro/cli/templates/ruby_gem/.circleci/config.yml.tt
|
239
|
+
- lib/roro/cli/templates/ruby_gem/.circleci/setup-gem-credentials.sh
|
220
240
|
- lib/roro/cli/templates/ruby_gem/docker-compose.yml
|
221
|
-
- lib/roro/cli/templates/ruby_gem/roro/ci.env.tt
|
222
241
|
- lib/roro/cli/templates/ruby_gem/roro/containers/.keep
|
223
242
|
- lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt
|
243
|
+
- lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt
|
224
244
|
- lib/roro/cli/templates/ruby_gem/roro/keys/.keep
|
225
|
-
- lib/roro/cli/templates/ruby_gem/setup-gem-credentials.sh
|
226
245
|
- lib/roro/cli/templates/stories/.keep
|
246
|
+
- lib/roro/cli/templates/stories/rails/database/with_mysql/_service.yml
|
247
|
+
- lib/roro/cli/templates/stories/rails/database/with_postgresql/.keep
|
248
|
+
- lib/roro/cli/templates/stories/rails/database/with_postgresql/_service.yml
|
249
|
+
- lib/roro/cli/templates/stories/ruby_gem/with_ci_cd/_build.yml
|
227
250
|
- lib/roro/cli/templates/stories/with_mysql/_service.yml
|
228
251
|
- lib/roro/cli/templates/stories/with_postgresql/.keep
|
229
252
|
- lib/roro/cli/templates/stories/with_postgresql/_service.yml
|
230
253
|
- lib/roro/version.rb
|
231
254
|
- lib/tasks/deploy.rake
|
232
255
|
- roro.gemspec
|
256
|
+
- roro/containers/.keep
|
257
|
+
- roro/containers/ruby_image/Dockerfile
|
258
|
+
- roro/containers/ruby_image/ci.env.enc
|
259
|
+
- roro/keys/.keep
|
233
260
|
- sandbox/.keep
|
261
|
+
- tmp/.keep
|
234
262
|
- vendor/bundle/.keep
|
235
263
|
- vendor/cache/actionpack-6.0.3.2.gem
|
236
264
|
- vendor/cache/actionview-6.0.3.2.gem
|
@@ -316,7 +344,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
316
344
|
- !ruby/object:Gem::Version
|
317
345
|
version: '0'
|
318
346
|
requirements: []
|
319
|
-
|
347
|
+
rubyforge_project:
|
348
|
+
rubygems_version: 2.6.13
|
320
349
|
signing_key:
|
321
350
|
specification_version: 4
|
322
351
|
summary: Containerization framwork for Ruby on Rails applications.
|
@@ -1,17 +0,0 @@
|
|
1
|
-
defaults: &defaults
|
2
|
-
working_directory: /tmp
|
3
|
-
|
4
|
-
version: 2
|
5
|
-
|
6
|
-
jobs:
|
7
|
-
|
8
|
-
build:
|
9
|
-
machine: true
|
10
|
-
steps:
|
11
|
-
- checkout
|
12
|
-
- run: gem install roro
|
13
|
-
- run: roro generate::exposed ci
|
14
|
-
- run: echo 'source roro/containers/gem/ci.env' >> $BASH_ENV
|
15
|
-
- run: setup_gem_credentials.sh
|
16
|
-
- run: gem install gem-release
|
17
|
-
- run: gem release -k
|
@@ -1 +0,0 @@
|
|
1
|
-
RUBYGEMS_API_KEY=<%= config['rubygems_api_key'] %>
|