auto_tagger 0.1.2 → 0.1.5
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.
- data/.gitignore +1 -0
 - data/CHANGELOG +4 -0
 - data/Gemfile +8 -0
 - data/Rakefile +1 -1
 - data/VERSION +1 -1
 - data/auto_tagger.gemspec +4 -3
 - data/bin/autotag +8 -2
 - data/features/autotag.feature +17 -5
 - data/features/step_definitions/autotag_steps.rb +12 -2
 - data/features/support/step_helpers.rb +4 -2
 - metadata +5 -3
 
    
        data/.gitignore
    CHANGED
    
    
    
        data/CHANGELOG
    CHANGED
    
    
    
        data/Gemfile
    ADDED
    
    
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -8,7 +8,7 @@ begin 
     | 
|
| 
       8 
8 
     | 
    
         
             
                gem.summary = %Q{Helps you automatically create tags for each stage in a multi-stage deploment and deploy from the latest tag from the previous environment}
         
     | 
| 
       9 
9 
     | 
    
         
             
                gem.email = "jeff@zilkey.com"
         
     | 
| 
       10 
10 
     | 
    
         
             
                gem.homepage = "http://github.com/zilkey/auto_tagger"
         
     | 
| 
       11 
     | 
    
         
            -
                gem.authors = ["Jeff Dean", "Brian Takita", "Mike Grafton", "Bruce Krysiak", "Pat Nakajima", "Jay Zeschin", "Mike Barinek"]
         
     | 
| 
      
 11 
     | 
    
         
            +
                gem.authors = ["Jeff Dean", "Brian Takita", "Mike Grafton", "Bruce Krysiak", "Pat Nakajima", "Jay Zeschin", "Mike Barinek", "Sarah Mei"]
         
     | 
| 
       12 
12 
     | 
    
         
             
                gem.add_dependency('capistrano', [">= 2.5.3"])
         
     | 
| 
       13 
13 
     | 
    
         
             
                gem.require_paths = ["lib"]
         
     | 
| 
       14 
14 
     | 
    
         
             
                gem.executables = ["autotag"]
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.1. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.1.5
         
     | 
    
        data/auto_tagger.gemspec
    CHANGED
    
    | 
         @@ -5,11 +5,11 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.name = %q{auto_tagger}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "0.1. 
     | 
| 
      
 8 
     | 
    
         
            +
              s.version = "0.1.5"
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
     | 
    
         
            -
              s.authors = ["Jeff Dean", "Brian Takita", "Mike Grafton", "Bruce Krysiak", "Pat Nakajima", "Jay Zeschin", "Mike Barinek"]
         
     | 
| 
       12 
     | 
    
         
            -
              s.date = %q{2010- 
     | 
| 
      
 11 
     | 
    
         
            +
              s.authors = ["Jeff Dean", "Brian Takita", "Mike Grafton", "Bruce Krysiak", "Pat Nakajima", "Jay Zeschin", "Mike Barinek", "Sarah Mei"]
         
     | 
| 
      
 12 
     | 
    
         
            +
              s.date = %q{2010-05-15}
         
     | 
| 
       13 
13 
     | 
    
         
             
              s.default_executable = %q{autotag}
         
     | 
| 
       14 
14 
     | 
    
         
             
              s.email = %q{jeff@zilkey.com}
         
     | 
| 
       15 
15 
     | 
    
         
             
              s.executables = ["autotag"]
         
     | 
| 
         @@ -20,6 +20,7 @@ Gem::Specification.new do |s| 
     | 
|
| 
       20 
20 
     | 
    
         
             
                ".document",
         
     | 
| 
       21 
21 
     | 
    
         
             
                 ".gitignore",
         
     | 
| 
       22 
22 
     | 
    
         
             
                 "CHANGELOG",
         
     | 
| 
      
 23 
     | 
    
         
            +
                 "Gemfile",
         
     | 
| 
       23 
24 
     | 
    
         
             
                 "MIT-LICENSE",
         
     | 
| 
       24 
25 
     | 
    
         
             
                 "README.md",
         
     | 
| 
       25 
26 
     | 
    
         
             
                 "Rakefile",
         
     | 
    
        data/bin/autotag
    CHANGED
    
    | 
         @@ -22,8 +22,14 @@ end 
     | 
|
| 
       22 
22 
     | 
    
         
             
            if ARGV[0] && ["-h", "--help", "-?", "--?"].include?(ARGV[0])
         
     | 
| 
       23 
23 
     | 
    
         
             
              usage
         
     | 
| 
       24 
24 
     | 
    
         
             
            elsif ARGV[0]
         
     | 
| 
       25 
     | 
    
         
            -
               
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 25 
     | 
    
         
            +
              begin
         
     | 
| 
      
 26 
     | 
    
         
            +
                AutoTagger::Runner.new(ARGV[0], ARGV[1]).create_tag
         
     | 
| 
      
 27 
     | 
    
         
            +
              rescue Exception => e
         
     | 
| 
      
 28 
     | 
    
         
            +
                puts "Error occured: #{e}"
         
     | 
| 
      
 29 
     | 
    
         
            +
                exit 1
         
     | 
| 
      
 30 
     | 
    
         
            +
              else
         
     | 
| 
      
 31 
     | 
    
         
            +
                exit 0
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
       27 
33 
     | 
    
         
             
            else
         
     | 
| 
       28 
34 
     | 
    
         
             
              usage
         
     | 
| 
       29 
35 
     | 
    
         
             
            end
         
     | 
    
        data/features/autotag.feature
    CHANGED
    
    | 
         @@ -6,34 +6,46 @@ Feature: Deployment 
     | 
|
| 
       6 
6 
     | 
    
         
             
              Scenario: user runs autotag with no args
         
     | 
| 
       7 
7 
     | 
    
         
             
                Given a repo
         
     | 
| 
       8 
8 
     | 
    
         
             
                When I run autotag with no arguments
         
     | 
| 
       9 
     | 
    
         
            -
                 
     | 
| 
      
 9 
     | 
    
         
            +
                And I should see "USAGE:"
         
     | 
| 
       10 
10 
     | 
    
         
             
                And no tags should be created
         
     | 
| 
      
 11 
     | 
    
         
            +
                And exit code should be 0
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
13 
     | 
    
         
             
              Scenario: user runs autotag with "--help"
         
     | 
| 
       13 
14 
     | 
    
         
             
                Given a repo
         
     | 
| 
       14 
15 
     | 
    
         
             
                When I run autotag with "--help"
         
     | 
| 
       15 
     | 
    
         
            -
                 
     | 
| 
      
 16 
     | 
    
         
            +
                And I should see "USAGE:"
         
     | 
| 
       16 
17 
     | 
    
         
             
                And no tags should be created
         
     | 
| 
      
 18 
     | 
    
         
            +
                And exit code should be 0
         
     | 
| 
       17 
19 
     | 
    
         | 
| 
       18 
20 
     | 
    
         
             
              Scenario: user runs autotag with "-h"
         
     | 
| 
       19 
21 
     | 
    
         
             
                Given a repo
         
     | 
| 
       20 
22 
     | 
    
         
             
                When I run autotag with "-h"
         
     | 
| 
       21 
     | 
    
         
            -
                 
     | 
| 
      
 23 
     | 
    
         
            +
                And I should see "USAGE:"
         
     | 
| 
       22 
24 
     | 
    
         
             
                And no tags should be created
         
     | 
| 
      
 25 
     | 
    
         
            +
                And exit code should be 0
         
     | 
| 
       23 
26 
     | 
    
         | 
| 
       24 
27 
     | 
    
         
             
              Scenario: user runs autotag with "-?"
         
     | 
| 
       25 
28 
     | 
    
         
             
                Given a repo
         
     | 
| 
       26 
29 
     | 
    
         
             
                When I run autotag with "-?"
         
     | 
| 
       27 
     | 
    
         
            -
                 
     | 
| 
      
 30 
     | 
    
         
            +
                And I should see "USAGE:"
         
     | 
| 
       28 
31 
     | 
    
         
             
                And no tags should be created
         
     | 
| 
      
 32 
     | 
    
         
            +
                And exit code should be 0
         
     | 
| 
       29 
33 
     | 
    
         | 
| 
       30 
34 
     | 
    
         
             
              Scenario: user runs autotag with "demo"
         
     | 
| 
       31 
35 
     | 
    
         
             
                Given a repo
         
     | 
| 
       32 
36 
     | 
    
         
             
                When I run autotag with "demo"
         
     | 
| 
       33 
     | 
    
         
            -
                # can't check output here for some reason
         
     | 
| 
       34 
37 
     | 
    
         
             
                Then a "demo" tag should be created
         
     | 
| 
      
 38 
     | 
    
         
            +
                And exit code should be 0
         
     | 
| 
       35 
39 
     | 
    
         | 
| 
       36 
40 
     | 
    
         
             
              Scenario: user runs autotag with "demo ."
         
     | 
| 
       37 
41 
     | 
    
         
             
                Given a repo
         
     | 
| 
       38 
42 
     | 
    
         
             
                When I run autotag with "demo"
         
     | 
| 
       39 
43 
     | 
    
         
             
                Then a "demo" tag should be created
         
     | 
| 
      
 44 
     | 
    
         
            +
                And exit code should be 0
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
              Scenario: autotag cannot successfully complete
         
     | 
| 
      
 47 
     | 
    
         
            +
                Given a repo
         
     | 
| 
      
 48 
     | 
    
         
            +
                When I run autotag with "demo /no/such/path"
         
     | 
| 
      
 49 
     | 
    
         
            +
                Then I should see "Error occured:"
         
     | 
| 
      
 50 
     | 
    
         
            +
                And exit code should be 1
         
     | 
| 
      
 51 
     | 
    
         
            +
                And no tags should be created
         
     | 
| 
         @@ -10,16 +10,18 @@ end 
     | 
|
| 
       10 
10 
     | 
    
         
             
            When /^I run autotag with no arguments$/ do
         
     | 
| 
       11 
11 
     | 
    
         
             
              puts
         
     | 
| 
       12 
12 
     | 
    
         
             
              helpers = StepHelpers.new
         
     | 
| 
       13 
     | 
    
         
            -
              @output = helpers.run_autotag
         
     | 
| 
      
 13 
     | 
    
         
            +
              @output, @exit_code = helpers.run_autotag
         
     | 
| 
       14 
14 
     | 
    
         
             
              @tags = helpers.tags
         
     | 
| 
      
 15 
     | 
    
         
            +
              @exit_code = helpers.exit_code
         
     | 
| 
       15 
16 
     | 
    
         
             
              puts
         
     | 
| 
       16 
17 
     | 
    
         
             
            end
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
19 
     | 
    
         
             
            When /^I run autotag with "([^\"]*)"$/ do |args|
         
     | 
| 
       19 
20 
     | 
    
         
             
              puts
         
     | 
| 
       20 
21 
     | 
    
         
             
              helpers = StepHelpers.new
         
     | 
| 
       21 
     | 
    
         
            -
              @output = helpers.run_autotag(args)
         
     | 
| 
      
 22 
     | 
    
         
            +
              @output, @exit_code = helpers.run_autotag(args)
         
     | 
| 
       22 
23 
     | 
    
         
             
              @tags = helpers.tags
         
     | 
| 
      
 24 
     | 
    
         
            +
              @exit_code = helpers.exit_code
         
     | 
| 
       23 
25 
     | 
    
         
             
              puts
         
     | 
| 
       24 
26 
     | 
    
         
             
            end
         
     | 
| 
       25 
27 
     | 
    
         | 
| 
         @@ -27,6 +29,10 @@ Then /^I should see "([^\"]*)"$/ do |text| 
     | 
|
| 
       27 
29 
     | 
    
         
             
              @output.should =~ /#{Regexp.escape(text)}/
         
     | 
| 
       28 
30 
     | 
    
         
             
            end
         
     | 
| 
       29 
31 
     | 
    
         | 
| 
      
 32 
     | 
    
         
            +
            Then /^the exit code should be "(\d+)"$/ do |code|
         
     | 
| 
      
 33 
     | 
    
         
            +
              @exit_code.exitstatus.should == code.to_i
         
     | 
| 
      
 34 
     | 
    
         
            +
            end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
       30 
36 
     | 
    
         
             
            Then /^no tags should be created$/ do
         
     | 
| 
       31 
37 
     | 
    
         
             
              @tags.strip.should == ""
         
     | 
| 
       32 
38 
     | 
    
         
             
            end
         
     | 
| 
         @@ -39,3 +45,7 @@ end 
     | 
|
| 
       39 
45 
     | 
    
         
             
            Then /^a "([^\"]*)" tag should be created$/ do |prefix|
         
     | 
| 
       40 
46 
     | 
    
         
             
              @tags.strip.split("\n").any?{|tag| tag.starts_with?("demo")}.should be_true
         
     | 
| 
       41 
47 
     | 
    
         
             
            end
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            Then /^exit code should be (\d*)$/ do |exit_code|
         
     | 
| 
      
 50 
     | 
    
         
            +
              @exit_code.should == exit_code.to_i
         
     | 
| 
      
 51 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            class StepHelpers
         
     | 
| 
       2 
     | 
    
         
            -
              attr_reader :test_files_dir, :app_dir, :repo_dir
         
     | 
| 
      
 2 
     | 
    
         
            +
              attr_reader :test_files_dir, :app_dir, :repo_dir, :exit_code
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
              def initialize
         
     | 
| 
       5 
5 
     | 
    
         
             
                @test_files_dir = File.join(Dir.pwd, "test_files")
         
     | 
| 
         @@ -27,7 +27,9 @@ class StepHelpers 
     | 
|
| 
       27 
27 
     | 
    
         
             
              def run_autotag(args = nil)
         
     | 
| 
       28 
28 
     | 
    
         
             
                cmd = "cd #{app_dir} && ../../bin/autotag"
         
     | 
| 
       29 
29 
     | 
    
         
             
                cmd += " #{args}" if args
         
     | 
| 
       30 
     | 
    
         
            -
                `#{cmd}`
         
     | 
| 
      
 30 
     | 
    
         
            +
                output = `#{cmd}`
         
     | 
| 
      
 31 
     | 
    
         
            +
                @exit_code = $?.exitstatus
         
     | 
| 
      
 32 
     | 
    
         
            +
                return output
         
     | 
| 
       31 
33 
     | 
    
         
             
              end
         
     | 
| 
       32 
34 
     | 
    
         | 
| 
       33 
35 
     | 
    
         
             
              def create_app_with_cap_ext_multistage
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version 
     | 
|
| 
       5 
5 
     | 
    
         
             
              segments: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              - 0
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 1
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 5
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: 0.1.5
         
     | 
| 
       10 
10 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       11 
11 
     | 
    
         
             
            authors: 
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Jeff Dean
         
     | 
| 
         @@ -16,11 +16,12 @@ authors: 
     | 
|
| 
       16 
16 
     | 
    
         
             
            - Pat Nakajima
         
     | 
| 
       17 
17 
     | 
    
         
             
            - Jay Zeschin
         
     | 
| 
       18 
18 
     | 
    
         
             
            - Mike Barinek
         
     | 
| 
      
 19 
     | 
    
         
            +
            - Sarah Mei
         
     | 
| 
       19 
20 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       20 
21 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       21 
22 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       22 
23 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
            date: 2010- 
     | 
| 
      
 24 
     | 
    
         
            +
            date: 2010-05-15 00:00:00 -04:00
         
     | 
| 
       24 
25 
     | 
    
         
             
            default_executable: autotag
         
     | 
| 
       25 
26 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       26 
27 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -49,6 +50,7 @@ files: 
     | 
|
| 
       49 
50 
     | 
    
         
             
            - .document
         
     | 
| 
       50 
51 
     | 
    
         
             
            - .gitignore
         
     | 
| 
       51 
52 
     | 
    
         
             
            - CHANGELOG
         
     | 
| 
      
 53 
     | 
    
         
            +
            - Gemfile
         
     | 
| 
       52 
54 
     | 
    
         
             
            - MIT-LICENSE
         
     | 
| 
       53 
55 
     | 
    
         
             
            - README.md
         
     | 
| 
       54 
56 
     | 
    
         
             
            - Rakefile
         
     |