roro 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '09422fa5ab93c4c035c9ae32dc2302bc6bbc4efaf3e1e9739af321a93421b592'
4
- data.tar.gz: f2dff59ae1689954fab13639d2d577e47fba7dcdd5c451f09b5b3d894b4bc725
3
+ metadata.gz: 6a9d804cc28daa110e2e317ef50d5b4f9665e42c07139e928578a5c6571b004e
4
+ data.tar.gz: 47f834b5b1d96a49a1eacd2925366c1d034a8727e3a2ad72d792935296ced064
5
5
  SHA512:
6
- metadata.gz: 03ab562ee753dabb3ab4ae891cca6f1b20a1a13b5550b39132939dd326decebaa1ca5f4bd099a792829c1ef34a9519a32d08ec81f51155d149bec4129b19d74e
7
- data.tar.gz: 693f9354186c1dbe32b3e68e87b7ffbfe6630e9254b1115e7c3867aed994e96c6dbf86be3f349043824c4d0632fceef28102405c794bbcea5414181a10ad689b
6
+ metadata.gz: 0f9a9141f8d664bc80cc5f2b48874516912c03adf2b97bbbe5362efc2e886fb51c2d5f49fc639f803c8037ed844dadbc65bd20cbbfba8efa764a4b566adb4254
7
+ data.tar.gz: 4d1fbb7d0a662d742746821432a8aeb551da9beedf2cb0ea667884b6733776f8f2a0c55fad90eb2050445492c709575e444af4369349b7f3a818f3dddbdf5513
data/.circleci/config.yml CHANGED
@@ -1,7 +1,13 @@
1
+ version: 2.1
2
+
1
3
  defaults: &defaults
2
4
  working_directory: /repo
3
5
 
4
- version: 2
6
+ executors:
7
+
8
+ executor-2-5-3:
9
+ docker:
10
+ - image: circleci/ruby:2.5.3
5
11
 
6
12
  jobs:
7
13
 
@@ -11,30 +17,18 @@ jobs:
11
17
  - checkout
12
18
 
13
19
  test:
14
- docker:
15
- - image: circleci/ruby:2.5.3
20
+ machine: true
16
21
  steps:
17
22
  - checkout
18
- - setup_remote_docker
19
- - run: gem install bundler
20
- - run: bundle
21
- - run: rake install
22
- - run: mkdir tmp
23
23
  - run: docker-compose up app
24
24
 
25
- test_all:
26
- docker:
27
- - image: circleci/ruby:2.5.3
25
+ test-all-rubies:
26
+ machine: true
28
27
  steps:
29
28
  - checkout
30
- - setup_remote_docker
31
- - run: gem install bundler
32
- - run: bundle
33
- - run: rake install
34
- - run: mkdir tmp
35
29
  - run: docker-compose up
36
30
 
37
- build-greenfield:
31
+ acceptance-greenfield:
38
32
  machine: true
39
33
  steps:
40
34
  - checkout
@@ -45,14 +39,11 @@ jobs:
45
39
  working_directory: sooperdooper
46
40
  command: |
47
41
  bundle
48
- sleep 2s
49
42
  rake install
50
- sleep 5s
51
43
  roro greenfield
52
- sleep 5s
53
44
  curl -Is localhost:3000 | head -n 1
54
45
 
55
- build-rollon:
46
+ acceptance-rollon:
56
47
  machine: true
57
48
  steps:
58
49
  - checkout
@@ -67,30 +58,30 @@ jobs:
67
58
  docker-compose exec app bin/rails db:create
68
59
  docker-compose exec app rake test
69
60
  curl -Is localhost:3000 | head -n 1
70
-
71
- push-release:
72
- docker:
73
- - image: circleci/ruby:2.5.3
74
- steps:
75
- - checkout
76
- - setup_remote_docker
77
- - run: gem install bundler
78
- - run: bundle
79
- - run: rake install
80
- - run: roro expose
81
- - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
82
- - run: bash .circleci/setup-gem-credentials.sh
83
- - run: git config credential.helper 'cache --timeout=120'
84
- - run: git config user.email $GIT_EMAIL
85
- - run: git config user.name $GIT_NAME
86
- - run: gem install gem-release
87
- - run: gem bump
88
- - run: bundle
89
- - run: git add .
90
- - run: git commit -m "Update release branch via CircleCI"
91
- - run: git checkout -b release
92
- - run: git push -q --force https://${GITHUB_PERSONAL_TOKEN}@github.com/schadenfred/roro.git release
93
-
61
+ #
62
+ # push-release:
63
+ # docker:
64
+ # - image: circleci/ruby:2.5.3
65
+ # steps:
66
+ # - checkout
67
+ # - setup_remote_docker
68
+ # - run: gem install bundler
69
+ # - run: bundle
70
+ # - run: rake install
71
+ # - run: roro expose
72
+ # - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
73
+ # - run: bash .circleci/setup-gem-credentials.sh
74
+ # - run: git config credential.helper 'cache --timeout=120'
75
+ # - run: git config user.email $GIT_EMAIL
76
+ # - run: git config user.name $GIT_NAME
77
+ # - run: gem install gem-release
78
+ # - run: gem bump
79
+ # - run: bundle
80
+ # - run: git add .
81
+ # - run: git commit -m "Update release branch via CircleCI"
82
+ # - run: git checkout -b release
83
+ # - run: git push -q --force https://${GITHUB_PERSONAL_TOKEN}@github.com/schadenfred/roro.git release
84
+ #
94
85
  release:
95
86
  docker:
96
87
  - image: circleci/ruby:2.5.3
@@ -107,44 +98,67 @@ jobs:
107
98
  - run: gem release
108
99
 
109
100
  workflows:
110
- version: 2
111
- build-and-deploy:
101
+ version: 2.1
102
+ build-test-feature:
112
103
  jobs:
113
- - build
104
+ - build:
105
+ filters:
106
+ branches:
107
+ only: /^feature-.*/
114
108
  - test:
115
109
  filters:
116
110
  branches:
117
- only:
118
- - /feature-.*/
119
- - build-greenfield:
111
+ only: /^feature-.*/
112
+
113
+ build-test-acceptance:
114
+ jobs:
115
+ - build
116
+ - test-all-rubies:
120
117
  filters:
121
118
  branches:
122
119
  only:
123
- - build-greenfield
124
120
  - development
125
- - master
126
- - build-rollon:
121
+ - acceptance-greenfield:
127
122
  filters:
128
123
  branches:
129
124
  only:
130
- - build-rollon
131
125
  - development
132
- - master
133
- - test_all:
126
+ - acceptance-rollon:
134
127
  filters:
135
128
  branches:
136
129
  only:
137
130
  - development
138
131
  - master
139
132
 
133
+ release:
134
+ jobs:
135
+ - build
140
136
  - release:
137
+ # requires:
138
+ # - test-all-rubies
139
+ # - acceptance-greenfield
140
+ # - acceptance-rollon
141
141
  filters:
142
142
  branches:
143
143
  only:
144
- - release
144
+ - master
145
145
 
146
- - push-release:
147
- filters:
148
- branches:
149
- only:
150
- - push-release
146
+
147
+
148
+
149
+
150
+
151
+ #
152
+ # build-test-acceptance:
153
+ # jobs:
154
+ # - build:
155
+ # filters:
156
+ # branches:
157
+ # - development
158
+ # - master
159
+ # build-test-release:
160
+ # jobs:
161
+ # - build:
162
+ # filters:
163
+ # tags:
164
+ # only: /^v.*/
data/.gitignore CHANGED
@@ -5,7 +5,10 @@
5
5
  /doc/
6
6
  /pkg/
7
7
  /spec/reports/
8
- tmp/**/*
8
+ tmp/dummy/
9
+ tmp/dummy_gem/
10
+ tmp/dummy_roro/
11
+ tmp/greenfield/
9
12
  !tmp/.keep
10
13
  greenfield/**/*
11
14
  .byebug_history
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- roro (0.1.5)
4
+ roro (0.1.6)
5
5
  handsome_fencer-crypto (= 0.1.4)
6
6
  os
7
7
  sshkit
data/lib/roro/cli/base.rb CHANGED
@@ -13,6 +13,16 @@ module Roro
13
13
  end
14
14
  end
15
15
 
16
+ def own_if_required
17
+ # case
18
+ # when ENV['CIRCLECI']
19
+ # return
20
+ # when OS.linux?
21
+ system 'sudo chown -R $USER .'
22
+ # end
23
+ end
24
+
25
+
16
26
  def set_from_env_vars
17
27
  @env_hash.map { |key, hash| @env_hash[key] = hash.values.last }
18
28
  options["env_vars"].map { |key, value| @env_hash[key] = value }
@@ -19,9 +19,13 @@ module Roro
19
19
  copy_greenfield_files
20
20
  system 'sudo docker-compose run web rails new . --force --database=postgresql --skip-bundle'
21
21
  system 'sudo chown -R $USER .' if OS.linux?
22
+ # own_if_required
22
23
  system 'sudo docker-compose build'
24
+ # own_if_required
23
25
  system 'mv -f config/database.yml.example config/database.yml'
26
+ # own_if_required
24
27
  system 'sudo docker-compose up --build --force-recreate -d '
28
+ # own_if_required
25
29
  system 'sudo docker-compose run web bin/rails db:create'
26
30
  end
27
31
  end
data/lib/roro/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Roro
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
data/roro.gemspec CHANGED
@@ -9,9 +9,9 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["schadenfred"]
10
10
  spec.email = ["fred.schoeneman@gmail.com"]
11
11
 
12
- spec.summary = %q{Dockerize your Rails app, set it up for CI, roll it onto your image repository, and then roll it off to your staging and production hosts.}
13
- spec.description = %q{You've finished development of your Rails app and now it's time to deploy. You're looking at Docker and Docker Compose, and at difference CI/CD services, at integrating with Docker Hub, and at trying to figure out how to deploy safely. There are lots of things that can go wrong. You've found some of them, and they haven't been much fun to fix. This gem and the companion tutorial may prove helpful.}
14
- spec.homepage = "https://github.com/schadenfred/handsome_fencer-roro"
12
+ spec.summary = %q{Containerization framwork for Ruby on Rails applications.}
13
+ spec.description = %q{Roro is a containerization and continuous integration framework for Ruby on Rails applications. Like Rails, it favors convention over configuration with is similarly, we hope, "...for programmer happiness and sustainable productivity."}
14
+ spec.homepage = "https://github.com/schadenfred/roro"
15
15
  spec.license = "MIT"
16
16
 
17
17
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  if spec.respond_to?(:metadata)
20
20
 
21
21
  spec.metadata["homepage_uri"] = spec.homepage
22
- spec.metadata["source_code_uri"] = "https://github.com/schadenfred/handsome_fencer-roro"
22
+ spec.metadata["source_code_uri"] = "https://github.com/schadenfred/roro"
23
23
 
24
24
  else
25
25
  raise "RubyGems 2.0 or newer is required to protect against " \
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.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - schadenfred
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-03 00:00:00.000000000 Z
11
+ date: 2019-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -122,11 +122,9 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- description: You've finished development of your Rails app and now it's time to deploy.
126
- You're looking at Docker and Docker Compose, and at difference CI/CD services, at
127
- integrating with Docker Hub, and at trying to figure out how to deploy safely. There
128
- are lots of things that can go wrong. You've found some of them, and they haven't
129
- been much fun to fix. This gem and the companion tutorial may prove helpful.
125
+ description: Roro is a containerization and continuous integration framework for Ruby
126
+ on Rails applications. Like Rails, it favors convention over configuration with
127
+ is similarly, we hope, "...for programmer happiness and sustainable productivity."
130
128
  email:
131
129
  - fred.schoeneman@gmail.com
132
130
  executables:
@@ -389,12 +387,13 @@ files:
389
387
  - test_apps/dummy_roro/tmp/.keep
390
388
  - test_apps/dummy_roro/vendor/.keep
391
389
  - test_apps/greenfield/.keep
392
- homepage: https://github.com/schadenfred/handsome_fencer-roro
390
+ - vendor/bundle/.keep
391
+ homepage: https://github.com/schadenfred/roro
393
392
  licenses:
394
393
  - MIT
395
394
  metadata:
396
- homepage_uri: https://github.com/schadenfred/handsome_fencer-roro
397
- source_code_uri: https://github.com/schadenfred/handsome_fencer-roro
395
+ homepage_uri: https://github.com/schadenfred/roro
396
+ source_code_uri: https://github.com/schadenfred/roro
398
397
  post_install_message:
399
398
  rdoc_options: []
400
399
  require_paths:
@@ -413,6 +412,5 @@ requirements: []
413
412
  rubygems_version: 3.0.1
414
413
  signing_key:
415
414
  specification_version: 4
416
- summary: Dockerize your Rails app, set it up for CI, roll it onto your image repository,
417
- and then roll it off to your staging and production hosts.
415
+ summary: Containerization framwork for Ruby on Rails applications.
418
416
  test_files: []