semaphore_cucumber_booster_config 1.2.0 → 1.3.0

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
  SHA1:
3
- metadata.gz: 5691d3e9fe17f86e85b76a5fa9259bf203b77beb
4
- data.tar.gz: ac9277bddca09570ee842921cb317a167fdf22c3
3
+ metadata.gz: b6b8d33fd48eb00a96b749acb32585a5bd05de1c
4
+ data.tar.gz: 3baab4ab00648226e77fb3101cca6a0a6b0ed6e4
5
5
  SHA512:
6
- metadata.gz: db92126e314a3ca17879b3162f738a390f7c89418e6bbe628b00f52737db7071c58234e6095d052ead9a5a9fd3f5a137109f9438348b250467199a55bfb591da
7
- data.tar.gz: 2e30ae2831d05464d5446fbd8102f2c287c348e82bb3e8cdba0aa4a365573881f0861bd318919e9d5baa8c32c1f974d45456a635aee59270c67a420ef1b20a2a
6
+ metadata.gz: 009a659093db987b2bca44e8f536d052b0ca8945d3c1bdc2afd8fd35d21842ce4afbb4ad9699c99a2836238a21505eff0d726b6ab5896377f364e1a2639384e8
7
+ data.tar.gz: 545195e8bec821d38bb74fc6dc55a7cafe35e3ecb1d6c87a2092b74de55e32bcd26fec43bee837a5ed2fc006343c32f40420428ec2c7f67fac52fd3acff0da23
data/README.md CHANGED
@@ -1,7 +1,6 @@
1
- # CucumberBoosterConfig
1
+ # Cucumber Booster Config
2
2
 
3
- [![Build
4
- Status](https://semaphoreci.com/api/v1/projects/b5ad1293-4dd1-425d-8c00-b42ceca09c75/527737/badge.svg)](https://semaphoreci.com/renderedtext/cucumber_booster_config)
3
+ [![Build Status](https://semaphoreci.com/api/v1/projects/b5ad1293-4dd1-425d-8c00-b42ceca09c75/527737/badge.svg)](https://semaphoreci.com/renderedtext/cucumber_booster_config)
5
4
 
6
5
  Injects additional configuration for Cucumber so that it outputs JSON suitable
7
6
  for auto-parallelism without affecting stdout.
@@ -11,10 +10,10 @@ for auto-parallelism without affecting stdout.
11
10
  Add this line to your application's Gemfile:
12
11
 
13
12
  ```ruby
14
- gem "cucumber_booster_config", :source => "https://gem.fury.io/renderedtext/"
13
+ gem "semaphore_cucumber_booster_config"
15
14
  ```
16
15
 
17
- ## Usage
16
+ ## Usage from the CLI
18
17
 
19
18
  ```
20
19
  $ cucumber-booster-config help inject
@@ -46,20 +45,34 @@ default: --format pretty features --profile semaphoreci
46
45
  ---
47
46
  ```
48
47
 
48
+ ## Usage from other scripts
49
+
50
+ You can invoke the injector script programaticaly too:
51
+
52
+ ``` ruby
53
+ current_path = Dir.pwd
54
+ output_report_path = "/tmp/cucumber_report.json"
55
+
56
+ CucumberBoosterConfig::Injection.new(current_path, output_report_path).run
57
+ ```
58
+
49
59
  ## Development
50
60
 
51
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec rspec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
61
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run
62
+ `bundle exec rspec` to run the tests. You can also run `bin/console` for an
63
+ interactive prompt that will allow you to experiment.
52
64
 
53
65
  To install this gem onto your local machine, run `bundle exec rake install`.
54
66
 
55
67
  ### How to release a new version
56
68
 
57
- Change version number in `lib/cucumber_booster_config/version.rb`, commit and push your changes.
58
- This will propagate the gemspec and subsequently `.gem` file that is generated on Gemfury.
69
+ Bump version number in `lib/cucumber_booster_config/version.rb`, commit and
70
+ push your changes.
59
71
 
60
- Semaphore is currently configured to push new versions to Gemfury.
61
- If version hasn't changed, Gemfury will simply ignore the update.
72
+ Semaphore is currently configured to push new versions to Rubygems.
73
+ If version hasn't changed, Rubygems will simply ignore the update.
62
74
 
63
75
  ## Contributing
64
76
 
65
- Bug reports and pull requests are welcome on GitHub at https://github.com/renderedtext/cucumber_booster_config.
77
+ Bug reports and pull requests are welcome on GitHub at
78
+ https://github.com/renderedtext/cucumber_booster_config.
@@ -2,11 +2,16 @@ require "thor"
2
2
 
3
3
  module CucumberBoosterConfig
4
4
  class CLI < Thor
5
+
5
6
  desc "inject PATH", "inject Semaphore's Cucumber configuration in project PATH"
6
7
  option :dry_run, :type => :boolean
7
8
  def inject(path)
8
9
  puts "Running in #{path}"
9
- Injection.new(path, :dry_run => options[:dry_run]).run
10
+
11
+ report_path = "cucumber_report.json"
12
+
13
+ Injection.new(path, report_path, :dry_run => options[:dry_run]).run
10
14
  end
15
+
11
16
  end
12
17
  end
@@ -2,7 +2,6 @@ module CucumberBoosterConfig
2
2
 
3
3
  class CucumberFile
4
4
 
5
- SEMAPHORE_PROFILE = "semaphoreci: --format json --out=~/cucumber_report.json"
6
5
  DEFAULT_PROFILE = "default: --format pretty --profile semaphoreci features"
7
6
 
8
7
  def initialize(path, dry_run)
@@ -10,7 +9,7 @@ module CucumberBoosterConfig
10
9
  @dry_run = dry_run
11
10
  end
12
11
 
13
- def configure_for_autoparallelism
12
+ def configure_for_autoparallelism(report_path)
14
13
  load_file_content
15
14
 
16
15
  if dry_run?
@@ -20,7 +19,7 @@ module CucumberBoosterConfig
20
19
  puts "---"
21
20
  end
22
21
 
23
- define_semaphore_profile
22
+ define_semaphore_profile(report_path)
24
23
  include_semaphore_profile
25
24
 
26
25
  if dry_run?
@@ -48,10 +47,11 @@ module CucumberBoosterConfig
48
47
  File.open(@path, "w") { |f| @new_lines.each { |line| f.puts line } }
49
48
  end
50
49
 
51
- def define_semaphore_profile
52
- puts "Inserting Semaphore configuration"
50
+ def define_semaphore_profile(report_path)
51
+ puts "Inserting Semaphore configuration for json report"
52
+ puts "Report path: #{report_path}"
53
53
 
54
- @new_lines << "#{SEMAPHORE_PROFILE}\n"
54
+ @new_lines << "semaphoreci: --format json --out=#{report_path}\n"
55
55
  end
56
56
 
57
57
  def include_semaphore_profile
@@ -9,8 +9,9 @@ module CucumberBoosterConfig
9
9
  "config/cucumber.yml"
10
10
  ]
11
11
 
12
- def initialize(path, options = {})
12
+ def initialize(path, report_path, options = {})
13
13
  @path = path
14
+ @report_path = report_path
14
15
  @dry_run = options.fetch(:dry_run, false)
15
16
  end
16
17
 
@@ -29,7 +30,7 @@ module CucumberBoosterConfig
29
30
 
30
31
  def run
31
32
  find_profile_files.each do |path|
32
- CucumberFile.new(path, @dry_run).configure_for_autoparallelism
33
+ CucumberFile.new(path, @dry_run).configure_for_autoparallelism(@report_path)
33
34
  end
34
35
  end
35
36
 
@@ -1,3 +1,3 @@
1
1
  module CucumberBoosterConfig
2
- VERSION = "1.2.0".freeze
2
+ VERSION = "1.3.0".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semaphore_cucumber_booster_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marko Anastasov