ci-scripts 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.editorconfig +1 -1
- data/ci_scripts.yml +3 -0
- data/lib/ci_scripts/dig.rb +38 -0
- data/lib/ci_scripts/helpers.rb +13 -2
- data/lib/ci_scripts/version.rb +1 -1
- data/lib/scripts/files/sha_firebase.rb +5 -5
- data/lib/scripts/files/tarball.rb +17 -0
- data/lib/scripts/go/test.rb +35 -0
- data/lib/scripts/ruby/publish_gem.rb +2 -2
- metadata +5 -3
- data/lib/scripts/go/test +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18afac7ed4402c46f981d151340dde80612fa923
|
4
|
+
data.tar.gz: 9d3069c932a9e43e900e1dfb1ffc0d7263b64c4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc668a60f57dbe74c9c1eec29d54c70bbc783f1bba762a48b59d97d8cdbfa34f6e33362e82b23ef9421e466f47535d53e70debe7be46ef9b2aa29ea0a4617e87
|
7
|
+
data.tar.gz: a0819121e9f55170de454ab29158ba0a4503474b30d94cc40bd5da031cbe42e289390a3ec50b276d0a5fb501f4e481838bcb18f6a106a8396c3ad87b172770a5
|
data/.editorconfig
CHANGED
data/ci_scripts.yml
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# https://github.com/Invoca/ruby_dig/blob/master/lib/ruby_dig.rb
|
2
|
+
|
3
|
+
module RubyDig
|
4
|
+
def dig(key, *rest)
|
5
|
+
value = self[key]
|
6
|
+
if value.nil? || rest.empty?
|
7
|
+
value
|
8
|
+
elsif value.respond_to?(:dig)
|
9
|
+
value.dig(*rest)
|
10
|
+
else
|
11
|
+
fail TypeError, "#{value.class} does not have #dig method"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
if RUBY_VERSION < '2.3'
|
17
|
+
class Array
|
18
|
+
include RubyDig
|
19
|
+
end
|
20
|
+
|
21
|
+
class Hash
|
22
|
+
include RubyDig
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
module RubyDotDig
|
27
|
+
def dot_dig(key)
|
28
|
+
dig(*key.split("."))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
class Array
|
33
|
+
include RubyDotDig
|
34
|
+
end
|
35
|
+
|
36
|
+
class Hash
|
37
|
+
include RubyDotDig
|
38
|
+
end
|
data/lib/ci_scripts/helpers.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# #!/usr/bin/ruby
|
2
2
|
require 'open3'
|
3
|
+
require 'ci_scripts/dig'
|
3
4
|
|
4
5
|
# Logging
|
5
6
|
def log_info(s)
|
@@ -25,7 +26,10 @@ def command(*options)
|
|
25
26
|
t = Time.now
|
26
27
|
system(*options)
|
27
28
|
log_success("#{(Time.now - t).round(2)}s\n ")
|
28
|
-
|
29
|
+
if $CHILD_STATUS && $CHILD_STATUS.exitstatus != 0
|
30
|
+
log_error("Exit status #{$CHILD_STATUS.exitstatus}")
|
31
|
+
exit $CHILD_STATUS.exitstatus
|
32
|
+
end
|
29
33
|
end
|
30
34
|
|
31
35
|
def timed_run(name)
|
@@ -36,7 +40,14 @@ def timed_run(name)
|
|
36
40
|
end
|
37
41
|
|
38
42
|
def capture_command(*options)
|
39
|
-
Open3.capture2(*options)
|
43
|
+
output, status = Open3.capture2(*options)
|
44
|
+
require "byebug"
|
45
|
+
unless status.success?
|
46
|
+
log_error("Attempted to capture output of `#{options.join ' '}` but received exit code #{status.to_i}")
|
47
|
+
log_error(output)
|
48
|
+
exit status.to_i
|
49
|
+
end
|
50
|
+
output
|
40
51
|
end
|
41
52
|
|
42
53
|
# system helpers
|
data/lib/ci_scripts/version.rb
CHANGED
@@ -25,7 +25,7 @@ module Files
|
|
25
25
|
timed_run "Generating SHA256" do
|
26
26
|
sha256 = Digest::SHA256.new
|
27
27
|
|
28
|
-
return puts "#{sha_folder} does not exist" unless File.
|
28
|
+
return puts "#{sha_folder} does not exist" unless File.exist?(sha_folder)
|
29
29
|
|
30
30
|
Dir.foreach(sha_folder) do |file|
|
31
31
|
next if File.directory?(file)
|
@@ -61,13 +61,13 @@ module Files
|
|
61
61
|
private
|
62
62
|
|
63
63
|
def git_url
|
64
|
-
git_remotes = capture_command("git", "remote", "-v")
|
65
|
-
url = /(?:git@|https:\/\/)([^\s]+)
|
66
|
-
url.
|
64
|
+
git_remotes = capture_command("git", "remote", "-v")
|
65
|
+
url = %r{/(?:git@|https:\/\/)([^\s]+)/}.match(git_remotes)[1]
|
66
|
+
url.tr(":", "/")
|
67
67
|
end
|
68
68
|
|
69
69
|
def firebase_escape(s)
|
70
|
-
s.
|
70
|
+
s.tr(".", "_")
|
71
71
|
end
|
72
72
|
end
|
73
73
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require "byebug"
|
2
|
+
module Files
|
3
|
+
class Tarball
|
4
|
+
def run
|
5
|
+
# env_require("files.tarball.output_directory")
|
6
|
+
tar_output_dir = env_require("FILES_TARBALL_OUTPUT_DIRECTORY")
|
7
|
+
# require "YAML"
|
8
|
+
# thing = YAML.load_file("ci_scripts.yml")
|
9
|
+
# byebug
|
10
|
+
|
11
|
+
# get files to add to tarball
|
12
|
+
# Description: comma separated for
|
13
|
+
tar_files = env_require("FILES_TARBALL_FILES").split(",")
|
14
|
+
tar_included = env_fetch("FILES")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'tempfile'
|
2
|
+
|
3
|
+
module Go
|
4
|
+
class Test
|
5
|
+
class << self
|
6
|
+
def description
|
7
|
+
<<-MARKDOWN
|
8
|
+
Run all test from all packages. Creates coverage.txt which concats all coverprofiles from go test.
|
9
|
+
MARKDOWN
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def run
|
14
|
+
go_test_package = env_fetch("GO_TEST_PACKAGE", ".")
|
15
|
+
go_coverage_output = env_fetch("GO_COVERAGE_OUTPUT", "./coverage.txt")
|
16
|
+
|
17
|
+
output = capture_command("sh", "-c", "go list #{go_test_package}/... | grep -v vendor")
|
18
|
+
packages = output.split("\n")
|
19
|
+
|
20
|
+
cover_output = ""
|
21
|
+
|
22
|
+
packages.each do |package|
|
23
|
+
output_file = Tempfile.new('go test')
|
24
|
+
|
25
|
+
command("go", "test", "-v", "-race", "-coverprofile=#{output_file.path}", "-covermode=atomic", package)
|
26
|
+
|
27
|
+
cover_output += output_file.read
|
28
|
+
output_file.close
|
29
|
+
output_file.unlink
|
30
|
+
end
|
31
|
+
|
32
|
+
File.write(go_coverage_output, cover_output)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -4,9 +4,9 @@ module Ruby
|
|
4
4
|
# Bundler release scripts
|
5
5
|
# https://github.com/bundler/bundler/blob/master/lib/bundler/gem_helper.rb
|
6
6
|
# also gemspec loading https://github.com/bundler/bundler/blob/ff4a522e8e75eb4ce5675a99698fb3df23b680be/lib/bundler.rb#L406
|
7
|
-
out
|
7
|
+
out = capture_command("bundle", "exec", "rake", "-T")
|
8
8
|
|
9
|
-
if
|
9
|
+
if out.include?("rake release[remote]")
|
10
10
|
command("bundle", "exec", "rake", "release")
|
11
11
|
else
|
12
12
|
log_error("bundler/gem_tasks is required to use this script")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ci-scripts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Caldwell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: firebase
|
@@ -116,7 +116,9 @@ files:
|
|
116
116
|
- bin/document
|
117
117
|
- bin/setup
|
118
118
|
- ci-scripts.gemspec
|
119
|
+
- ci_scripts.yml
|
119
120
|
- lib/ci_scripts.rb
|
121
|
+
- lib/ci_scripts/dig.rb
|
120
122
|
- lib/ci_scripts/helpers.rb
|
121
123
|
- lib/ci_scripts/version.rb
|
122
124
|
- lib/scripts/demo/test.rb
|
@@ -131,7 +133,7 @@ files:
|
|
131
133
|
- lib/scripts/go/build.rb
|
132
134
|
- lib/scripts/go/glide
|
133
135
|
- lib/scripts/go/install
|
134
|
-
- lib/scripts/go/test
|
136
|
+
- lib/scripts/go/test.rb
|
135
137
|
- lib/scripts/ruby/bundler.rb
|
136
138
|
- lib/scripts/ruby/publish_gem.rb
|
137
139
|
- lib/scripts/ruby/rake_test.rb
|
data/lib/scripts/go/test
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
#!/usr/bin/bash
|