overview 0.0.3.61 → 0.0.4.12
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 +8 -8
- data/.gitignore +21 -0
- data/.travis.yml +3 -3
- data/README.rdoc +2 -2
- data/Rakefile +1 -1
- data/bin/overview +52 -17
- data/lib/{appversion/appversion.rb → appversion.rb} +11 -6
- data/lib/changelog.rb +455 -0
- data/lib/{appversion → helpers}/ci.rb +4 -2
- data/lib/helpers/git.rb +67 -0
- data/lib/helpers/github.rb +81 -0
- data/lib/{appversion → helpers}/string.rb +0 -0
- data/lib/overview/version.rb +1 -1
- data/lib/overview.rb +5 -5
- data/overview.gemspec +8 -3
- data/spec/appversion_spec.rb +17 -48
- data/spec/changelog_spec.rb +12 -0
- data/spec/helpers_spec.rb +196 -0
- metadata +95 -7
- data/lib/appversion/git.rb +0 -41
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Y2Q0ZmMzNjVlYWIyNGQ3YWQxZjk5MDgxYTg3MWEyY2Y4ZTNkMWU1Mg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MjJjNGE2YmUzMzc4NjNkNDZiYzc3MGEyMjQ0ZDgyZWUxMGRkZWFmMg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MTcxZTQ0MDE3ZGQ0NGM0MjQxYjdiZjg0MzIyMTE3ZWIwNjRkMzQ4YTlmZTUy
|
10
|
+
OWViYzI5MmUyMGQ5NmU5YmM3MTEzOTk0MjEyYTI0OGEyMTRlN2YzZjMwMDM1
|
11
|
+
NWM2MDJhMWMyNGQ4ZGRiMmY1ZDIzYzc3NTFkYmRlMmM2ZWM4NGI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzE2OTdjOWYzMjBmZjUxMmMyNDAxMWI0ZDgyNmEzOGQxMTA2OGU0NGI1OWZi
|
14
|
+
ZDQwMTc4NGJjYjI1YmRmMTlmMDI4M2NjMzg3Mzc1NDUxYmVlYTMxODg0MWZj
|
15
|
+
N2QxYmQzNDQ5NGI3NTcwMWMwODY1NjFiNmI3YTc2MDI4MjM3YjY=
|
data/.gitignore
CHANGED
@@ -1,2 +1,23 @@
|
|
1
1
|
.idea
|
2
2
|
Gemfile.lock
|
3
|
+
|
4
|
+
bin/overview.log
|
5
|
+
|
6
|
+
lib/overview.yml
|
7
|
+
|
8
|
+
lib/releases.yml
|
9
|
+
|
10
|
+
lib/overview.log
|
11
|
+
|
12
|
+
overview.log
|
13
|
+
|
14
|
+
lib/cache.yml
|
15
|
+
|
16
|
+
lib/changelog_apicache.yml
|
17
|
+
|
18
|
+
lib/github.cache
|
19
|
+
|
20
|
+
lib/github.yml
|
21
|
+
|
22
|
+
spec/coverage/
|
23
|
+
coverage/
|
data/.travis.yml
CHANGED
@@ -7,14 +7,14 @@ notifications:
|
|
7
7
|
email: false
|
8
8
|
rvm:
|
9
9
|
- 2.0.0
|
10
|
-
before_script:
|
10
|
+
before_script:
|
11
11
|
- bundle exec ./bin/overview appversion -r
|
12
12
|
- bundle exec gem bump --version $(bundle exec ./bin/overview appversion -r | tail -1) --no-commit
|
13
13
|
deploy:
|
14
14
|
provider: rubygems
|
15
15
|
api_key:
|
16
|
-
secure:
|
16
|
+
secure: RU4uH/gIFJ7nZFRsINXV04bbJDNSpA4VhJcxDXxN+sOoiy107zr62GdrGm7YhMRAt5jeGPE8xX9MKwFxbJotLj0XAplkGrzx1L5B2tmxWoHRrNpb9IKyxu5Q9PWuch06jL7rQLW9BmaYZNtEiKUGSI9nD4291fV9r9vTNqiuj08=
|
17
17
|
gem: overview
|
18
18
|
on:
|
19
19
|
tags: true
|
20
|
-
repo:
|
20
|
+
repo: overhq/overview
|
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
= overview {<img src="https://badge.fury.io/rb/overview.svg" alt="Gem Version" />}[http://badge.fury.io/rb/overview] {<img src="https://codeclimate.com/github/overllc/overview/badges/gpa.svg" />}[https://codeclimate.com/github/overllc/overview] {<img src="https://codeclimate.com/github/overllc/overview/badges/coverage.svg" />}[https://codeclimate.com/github/overllc/overview] {<img src="https://travis-ci.org/
|
1
|
+
= overview {<img src="https://badge.fury.io/rb/overview.svg" alt="Gem Version" />}[http://badge.fury.io/rb/overview] {<img src="https://codeclimate.com/github/overllc/overview/badges/gpa.svg" />}[https://codeclimate.com/github/overllc/overview] {<img src="https://codeclimate.com/github/overllc/overview/badges/coverage.svg" />}[https://codeclimate.com/github/overllc/overview] {<img src="https://travis-ci.org/overhq/overview.svg" alt="Build Status" />}[https://travis-ci.org/overhq/overview]
|
2
2
|
|
3
|
-
|
3
|
+
Config management tool to automate our iOS CI / CD process
|
4
4
|
|
5
5
|
:include:overview.rdoc
|
6
6
|
|
data/Rakefile
CHANGED
data/bin/overview
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
#run via terminal e.g. bundle exec ./bin/overview appversion -a
|
2
3
|
require 'gli'
|
3
|
-
require 'overview'
|
4
|
+
require 'overview.rb'
|
4
5
|
|
5
6
|
include GLI::App
|
6
|
-
include Overview
|
7
7
|
|
8
8
|
program_desc "Config management tool connecting Over's CI / CD toolchain"
|
9
9
|
|
@@ -12,15 +12,29 @@ version Overview::VERSION
|
|
12
12
|
subcommand_option_handling :normal
|
13
13
|
arguments :strict
|
14
14
|
|
15
|
+
=begin
|
15
16
|
desc 'Describe some switch here'
|
16
17
|
switch [:s,:switch]
|
18
|
+
=end
|
19
|
+
desc 'Sprint.ly API KEY'
|
20
|
+
#default_value 'the default'
|
21
|
+
arg_name 'API_KEY'
|
22
|
+
flag [:sprintly_api_key]
|
17
23
|
|
18
|
-
desc '
|
19
|
-
|
20
|
-
|
21
|
-
flag [:f,:flagname]
|
24
|
+
desc 'Sprint.ly USER'
|
25
|
+
arg_name 'USER'
|
26
|
+
flag [:sprintly_user]
|
22
27
|
|
23
|
-
desc '
|
28
|
+
desc 'Github token'
|
29
|
+
arg_name 'TOKEN'
|
30
|
+
flag [:travis_token]
|
31
|
+
|
32
|
+
|
33
|
+
desc 'Github token'
|
34
|
+
arg_name 'TOKEN'
|
35
|
+
flag [:github_token]
|
36
|
+
|
37
|
+
desc 'Mark Sprint.ly tickets as deployed via Github'
|
24
38
|
arg_name 'Describe arguments to deploy here'
|
25
39
|
command :deploy do |c|
|
26
40
|
c.desc 'Describe a switch to deploy'
|
@@ -40,6 +54,19 @@ command :deploy do |c|
|
|
40
54
|
end
|
41
55
|
end
|
42
56
|
|
57
|
+
desc 'Mark Sprint.ly tickets as released via Github Releases'
|
58
|
+
arg_name 'Describe arguments to deploy here'
|
59
|
+
command :release do |c|
|
60
|
+
c.action do |global_options,options,args|
|
61
|
+
|
62
|
+
# Your command logic here
|
63
|
+
|
64
|
+
# If you have any errors, just raise them
|
65
|
+
# raise "that command made no sense"
|
66
|
+
|
67
|
+
puts "release command ran"
|
68
|
+
end
|
69
|
+
end
|
43
70
|
|
44
71
|
|
45
72
|
desc 'Retrieve the changelog for the latest commit'
|
@@ -51,7 +78,8 @@ command :changelog do |c|
|
|
51
78
|
c.default_value 'production'
|
52
79
|
c.flag :a
|
53
80
|
c.action do |global_options,options,args|
|
54
|
-
|
81
|
+
include Changelog
|
82
|
+
Changelog::Log.new.display
|
55
83
|
end
|
56
84
|
end
|
57
85
|
|
@@ -64,27 +92,34 @@ command :appversion do |c|
|
|
64
92
|
c.switch :b
|
65
93
|
c.desc 'Version (no build) with branch e.g. 0.1.1-feature'
|
66
94
|
c.switch :v
|
67
|
-
c.desc 'Rubygem compatible version with build appended e.g. 0.1.1
|
95
|
+
c.desc 'Rubygem compatible version with build appended e.g. 0.1.1-feature-534'
|
68
96
|
c.switch :r
|
69
|
-
c.desc '
|
70
|
-
c.
|
97
|
+
c.desc 'Google App Engine compatible version with build appended e.g. 0-1-1-feature-534'
|
98
|
+
c.switch :a
|
71
99
|
c.action do |global_options,options,args|
|
72
|
-
|
100
|
+
include AppVersion
|
73
101
|
if options[:s]
|
74
|
-
puts
|
102
|
+
puts AppVersion::Version.new.version(true).to_s
|
75
103
|
elsif options[:b]
|
76
|
-
puts
|
104
|
+
puts AppVersion::Version.new.build_no.to_s
|
77
105
|
elsif options[:v]
|
78
|
-
puts
|
106
|
+
puts AppVersion::Version.new.version.to_s
|
79
107
|
elsif options[:r]
|
80
|
-
puts "#{
|
108
|
+
puts "#{AppVersion::Version.new.version.to_s}.#{AppVersion::Version.new.build_no.to_s}"
|
109
|
+
elsif options[:a]
|
110
|
+
puts "#{AppVersion::Version.new.version.to_s}.#{AppVersion::Version.new.build_no.to_s}".gsub('.','-')
|
81
111
|
else
|
82
|
-
puts
|
112
|
+
puts AppVersion::Version.new.to_s
|
83
113
|
end
|
84
114
|
end
|
85
115
|
end
|
86
116
|
|
87
117
|
pre do |global,command,options,args|
|
118
|
+
ENV['GITHUB_TOKEN'] = global[:github_token] unless global[:github_token].nil?
|
119
|
+
ENV['TRAVIS_TOKEN'] = global[:travis_token] unless global[:travis_token].nil?
|
120
|
+
ENV['SPRINTLY_USER'] = global[:sprintly_user] unless global[:sprintly_user].nil?
|
121
|
+
ENV['SPRINTLY_API_KEY'] = global[:sprintly_api_key] unless global[:sprintly_api_key].nil?
|
122
|
+
|
88
123
|
# Pre logic here
|
89
124
|
# Return true to proceed; false to abort and not call the
|
90
125
|
# chosen command
|
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module AppVersion
|
2
2
|
|
3
3
|
class Release
|
4
4
|
def self.is_pre_release?(tag)
|
@@ -9,7 +9,7 @@ module Overview
|
|
9
9
|
default
|
10
10
|
else
|
11
11
|
require 'octokit'
|
12
|
-
repo = Git.repo
|
12
|
+
repo = CI.repo || Git.repo
|
13
13
|
p "Repo slug is #{repo}."
|
14
14
|
if repo.empty? || ENV['GITHUB_TOKEN'].nil? #for local builds
|
15
15
|
p 'GITHUB_TOKEN missing, running locally.'
|
@@ -20,8 +20,11 @@ module Overview
|
|
20
20
|
client.user.login
|
21
21
|
client.default_media_type = "application/vnd.github.moondragon+json"
|
22
22
|
release = client.release_for_tag(repo, tag)
|
23
|
-
|
24
|
-
|
23
|
+
if !release
|
24
|
+
default
|
25
|
+
else
|
26
|
+
release[:prerelease]
|
27
|
+
end
|
25
28
|
end
|
26
29
|
end
|
27
30
|
|
@@ -32,12 +35,13 @@ module Overview
|
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
35
|
-
class
|
38
|
+
class Version
|
36
39
|
|
37
40
|
def to_s
|
38
41
|
"#{version} (#{build_no})"
|
39
42
|
end
|
40
43
|
|
44
|
+
#TODO: refactor so that every permutation can be tested. E.g. github release where is_pre_release=false, what is the commit count?
|
41
45
|
def version(semantic = false)
|
42
46
|
version_suffix = CI.version_suffix
|
43
47
|
if Git.installed?
|
@@ -53,6 +57,7 @@ module Overview
|
|
53
57
|
clean_tag = Git.clean_tag
|
54
58
|
end
|
55
59
|
#Only increment version after production release, so that we retain a single version during beta and RCs
|
60
|
+
#TODO: check if this is a tagged build, and then always use the clean_tag. Not need to check pre_release or increment
|
56
61
|
if commit_count == 0 || Release.is_pre_release?(latest_tag)
|
57
62
|
short_version = clean_tag
|
58
63
|
else
|
@@ -76,7 +81,7 @@ module Overview
|
|
76
81
|
end
|
77
82
|
|
78
83
|
def suffix
|
79
|
-
branch = Git.branch
|
84
|
+
branch = CI.branch || Git.branch
|
80
85
|
p "Branch = #{branch}."
|
81
86
|
case branch
|
82
87
|
when /develop/
|