8000 Merge pull request #5797 from activeadmin/cleaner_test_application_setup · stephancom/activeadmin@ffeee5d · GitHub
[go: up one dir, main page]

Skip to content

Commit ffeee5d

Browse files
Merge pull request activeadmin#5797 from activeadmin/cleaner_test_application_setup
Cleaner test application setup
2 parents c0c24a8 + a0bb67f commit ffeee5d

File tree

12 files changed

+167
-102
lines changed

12 files changed

+167
-102
lines changed

.circleci/config.yml

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@ version: 2.1
4646
.create_test_app: &create_test_app
4747
run:
4848
name: Create test app
49-
command: PARALLEL_TEST_PROCESSORS=4 bin/rake setup
49+
command: COVERAGE=true PARALLEL_TEST_PROCESSORS=4 bin/rake setup
50+
51+
.restore_test_reporter: &restore_test_reporter
52+
attach_workspace:
53+
at: bin
5054

5155
.restore_coverage: &restore_coverage
5256
attach_workspace:
@@ -55,7 +59,7 @@ version: 2.1
5559
.format_coverage: &format_coverage
5660
run:
5761
name: Format coverage
58-
command: coverage/test-reporter format-coverage --input-type simplecov --output coverage/codeclimate.$CIRCLE_JOB.json
62+
command: bin/test-reporter format-coverage --input-type simplecov --output coverage/codeclimate.$CIRCLE_JOB.json
5963

6064
.save_coverage: &save_coverage
6165
persist_to_workspace:
@@ -67,16 +71,15 @@ version: 2.1
6771
run:
6872
name: Upload coverage results to Code Climate
6973
command: |
70-
# The parts number is the total jobs count plus the lint job,
71-
# This number should match the number of jobs under upload_coverage/requires
72-
coverage/test-reporter sum-coverage coverage/codeclimate.*.json --parts 16 --output coverage/codeclimate.total.json
73-
coverage/test-reporter upload-coverage --input coverage/codeclimate.total.json
74+
# The parts number should match the number of jobs under upload_coverage/requires
75+
bin/test-reporter sum-coverage coverage/codeclimate.*.json --parts 20 --output coverage/codeclimate.total.json
76+
bin/test-reporter upload-coverage --input coverage/codeclimate.total.json
7477
75-
.save_test_app_to_workspace: &save_test_app_to_workspace
78+
.save_test_app: &save_test_app
7679
persist_to_workspace:
7780
root: tmp/rails
7881
paths:
79-
- rails-*
82+
- rails_*
8083

8184
.restore_test_app_from_workspace: &restore_test_app_from_workspace
8285
attach_workspace:
@@ -137,7 +140,7 @@ version: 2.1
137140
- *save_cache
138141
- *restore_test_app_from_workspace
139142
- *restore_test_times
140-
- *restore_coverage
143+
- *restore_test_reporter
141144
- *run_tests
142145
- *run_features
143146
- *format_coverage
@@ -151,9 +154,12 @@ version: 2.1
151154
- *copy_current_gemfile
152155
- *restore_cache
153156
- *install_dependencies
157+
- *restore_test_reporter
154158
- *save_cache
155159
- *create_test_app
156-
- *save_test_app_to_workspace
160+
- *format_coverage
161+
- *save_coverage
162+
- *save_test_app
157163

158164
jobs:
159165
setup_coverage:
@@ -164,12 +170,12 @@ jobs:
164170
- run:
165171
name: Download Code Climate test-reporter
166172
command: |
167-
mkdir coverage
168-
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-0.6.3-linux-amd64 > coverage/test-reporter
169-
chmod +x coverage/test-reporter
173+
mkdir bin
174+
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-0.6.3-linux-amd64 > bin/test-reporter
175+
chmod +x bin/test-reporter
170176
171177
- persist_to_workspace:
172-
root: coverage
178+
root: bin
173179
paths:
174180
- test-reporter
175181

@@ -180,6 +186,7 @@ jobs:
180186
CC_TEST_REPORTER_ID: 8d5fcf7abea6d56c625104a9d1a81140a588a7f546f4fa9de9bc6ffc8feaaf70
181187

182188
steps:
189+
- *restore_test_reporter
183190
- *restore_coverage
184191
- *submit_coverage
185192

@@ -244,7 +251,7 @@ jobs:
244251
- *install_dependencies
245252
- *save_cache
246253
- *generate_docs
247-
- *restore_coverage
254+
- *restore_test_reporter
248255
- *run_lints
249256
- *run_bug_report_template
250257
- *format_coverage
@@ -519,6 +526,11 @@ workflows:
519526
requires:
520527
- lint_and_docs
521528

529+
- testapp50
530+
- testapp51
531+
- testapp52
532+
- testapp60
533+
522534
- ruby24rails50
523535
- ruby24rails51
524536
- ruby24rails52

Gemfile.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ GEM
129129
responders
130130
warden (~> 1.2.3)
131131
diff-lcs (1.3)
132-
docile (1.3.1)
132+
docile (1.3.2)
133133
draper (3.1.0)
134134
actionpack (>= 5.0)
135135
activemodel (>= 5.0)
@@ -187,8 +187,8 @@ GEM
187187
railties (>= 4.2.0)
188188
thor (>= 0.14, < 2.0)
189189
jruby-openssl (0.10.1-java)
190-
json (2.1.0)
191-
json (2.1.0-java)
190+
json (2.2.0)
191+
json (2.2.0-java)
192192
kaminari (1.1.1)
193193
activesupport (>= 4.1.0)
194194
kaminari-actionview (= 1.1.1)
@@ -348,7 +348,7 @@ GEM
348348
selenium-webdriver (3.141.0)
349349
childprocess (~> 0.5)
350350
rubyzip (~> 1.2, >= 1.2.2)
351-
simplecov (0.16.1)
351+
simplecov (0.17.0)
352352
docile (~> 1.1)
353353
json (>= 1.8, < 3)
354354
simplecov-html (~> 0.10.0)

features/support/env.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
require f
77
end
88

9-
require "active_admin/dependency"
9+
require_relative "../../tasks/test_application"
1010

11-
require_relative "../../tmp/rails/rails-#{ActiveAdmin::Dependency.rails_version}/config/environment"
11+
require "#{ActiveAdmin::TestApplication.new.full_app_dir}/config/environment.rb"
1212

1313
require_relative 'rails'
1414

gemfiles/rails_50.gemfile.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ GEM
121121
responders
122122
warden (~> 1.2.3)
123123
diff-lcs (1.3)
124-
docile (1.3.1)
124+
docile (1.3.2)
125125
draper (3.1.0)
126126
actionpack (>= 5.0)
127127
activemodel (>= 5.0)
@@ -160,8 +160,8 @@ GEM
160160
railties (>= 4.2.0)
161161
thor (>= 0.14, < 2.0)
162162
jruby-openssl (0.10.1-java)
163-
json (2.1.0)
164-
json (2.1.0-java)
163+
json (2.2.0)
164+
json (2.2.0-java)
165165
kaminari (1.1.1)
166166
activesupport (>= 4.1.0)
167167
kaminari-actionview (= 1.1.1)
@@ -287,7 +287,7 @@ GEM
287287
selenium-webdriver (3.141.0)
288288
childprocess (~> 0.5)
289289
rubyzip (~> 1.2, >= 1.2.2)
290-
simplecov (0.16.1)
290+
simplecov (0.17.0)
291291
docile (~> 1.1)
292292
json (>= 1.8, < 3)
293293
simplecov-html (~> 0.10.0)

gemfiles/rails_51.gemfile.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ GEM
121121
responders
122122
warden (~> 1.2.3)
123123
diff-lcs (1.3)
124-
docile (1.3.1)
124+
docile (1.3.2)
125125
draper (3.1.0)
126126
actionpack (>= 5.0)
127127
activemodel (>= 5.0)
@@ -160,8 +160,8 @@ GEM
160160
railties (>= 4.2.0)
161161
thor (>= 0.14, < 2.0)
162162
jruby-openssl (0.10.1-java)
163-
json (2.1.0)
164-
json (2.1.0-java)
163+
json (2.2.0)
164+
json (2.2.0-java)
165165
kaminari (1.1.1)
166166
activesupport (>= 4.1.0)
167167
kaminari-actionview (= 1.1.1)
@@ -287,7 +287,7 @@ GEM
287287
selenium-webdriver (3.141.0)
288288
childprocess (~> 0.5)
289289
rubyzip (~> 1.2, >= 1.2.2)
290-
simplecov (0.16.1)
290+
simplecov (0.17.0)
291291
docile (~> 1.1)
292292
json (>= 1.8, < 3)
293293
simplecov-html (~> 0.10.0)

gemfiles/rails_60.gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ GEM
138138
responders
139139
warden (~> 1.2.3)
140140
diff-lcs (1.3)
141-
docile (1.3.1)
141+
docile (1.3.2)
142142
draper (3.1.0)
143143
actionpack (>= 5.0)
144144
activemodel (>= 5.0)
@@ -310,7 +310,7 @@ GEM
310310
selenium-webdriver (3.141.0)
311311
childprocess (~> 0.5)
312312
rubyzip (~> 1.2, >= 1.2.2)
313-
simplecov (0.16.1)
313+
simplecov (0.17.0)
314314
docile (~> 1.1)
315315
json (>= 1.8, < 3)
316316
simplecov-html (~> 0.10.0)

lib/active_admin/dependency.rb

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,6 @@ def self.[](name)
5555
Matcher.new name.to_s
5656
end
5757

58-
def self.rails_version
59-
rails.spec.version
60-
end
61-
6258
def self.supports_zeitwerk?
6359
rails >= "6.0.0.beta3" && RUBY_ENGINE != "jruby"
6460
end

spec/rails_helper.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
ENV['RAILS_ENV'] = 'test'
44

5-
require "active_admin/dependency"
5+
require_relative "../tasks/test_application"
66

7-
require_relative "../tmp/rails/rails-#{ActiveAdmin::Dependency.rails_version}/config/environment"
7+
require "#{ActiveAdmin::TestApplication.new.full_app_dir}/config/environment.rb"
88

99
require 'rspec/rails'
1010

tasks/application_generator.rb

Lines changed: 0 additions & 53 deletions
This file was deleted.

tasks/local.rake

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
require_relative "application_generator"
2-
31
desc 'Run a command against the local sample application'
42
task :local do
5-
app_folder = ActiveAdmin::ApplicationGenerator.new(
3+
require_relative "test_application"
4+
5+
test_application = ActiveAdmin::TestApplication.new(
66
rails_env: 'development',
77
template: 'rails_template_with_data'
8-
).generate
8+
)
9+
10+
test_application.generate
911

1012
# Discard the "local" argument (name of the task)
1113
argv = ARGV[1..-1]
@@ -17,10 +19,9 @@ task :local do
1719
end
1820

1921
command = ['bundle', 'exec', *argv].join(' ')
20-
gemfile = ENV['BUNDLE_GEMFILE'] || File.expand_path("../Gemfile", __dir__)
21-
env = { 'BUNDLE_GEMFILE' => gemfile }
22+
env = { 'BUNDLE_GEMFILE' => test_application.expanded_gemfile }
2223

23-
Dir.chdir(app_folder) do
24+
Dir.chdir(test_application.app_dir) do
2425
Bundler.with_original_env { Kernel.exec(env, command) }
2526
end
2627
end

0 commit comments

Comments
 (0)
0