assemblyline-cli 0.0.11 → 0.0.12

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: 66b6e66e03248ea3799528109cfc54526e5253e1
4
- data.tar.gz: ccf7cb0fdf2d09534cc36e524a0995b33d8534f6
3
+ metadata.gz: f1f11bc038e169a633ded370d70ac330acb1bfc7
4
+ data.tar.gz: b247486abf028b32dfbdb93cd99c462efb0477df
5
5
  SHA512:
6
- metadata.gz: a9148c99801fe095bf783b17c07b91376a7c9b44f5b0bde49054b689d91f82c7f0597858aa69f46a5e44a46bb2513fa1273751aea05ae8c79165e67e3f715b34
7
- data.tar.gz: cbda574db4c4ad899779d6528bfd3e8e984c5729481a827c4f15c94e12c7e263e43d9b1cfa91c21b92fb2cb7ba33c0806557d3ec3edb711cf1cb89ad793c9f47
6
+ metadata.gz: 00960990496d840b33011e09a573feada360e039915d938201d63beb3285f4a6b0f2bd875c33a7e8d8275f209767dfce8197b963b3b6661c787a3ea27ef21dbd
7
+ data.tar.gz: a9779d394722ed9d09b4a05994ae9d75426f7f8445be0ef2a0519494b4bf2d3230482334bf69ed12710edd70663e8cb52baa355dda0d5245cd410ea09bfc1dcc
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in assemblyline-cli.gemspec
4
4
  gemspec
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
- require 'bundler/gem_tasks'
2
- require 'reevoocop/rake_task'
1
+ require "bundler/gem_tasks"
2
+ require "reevoocop/rake_task"
3
3
  ReevooCop::RakeTask.new(:reevoocop)
4
4
 
5
5
  task build: :reevoocop
@@ -1,24 +1,24 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+ lib = File.expand_path("../lib", __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'assemblyline/cli/version'
4
+ require "assemblyline/cli/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = 'assemblyline-cli'
7
+ spec.name = "assemblyline-cli"
8
8
  spec.version = Assemblyline::CLI_VERSION
9
- spec.authors = ['Ed Robinson']
10
- spec.email = ['ed@reevoo.com']
11
- spec.summary = 'A super-lightweight wrapper to start assemblyline tasks'
12
- spec.homepage = 'http://github.com/assemblyline'
13
- spec.license = 'MIT'
9
+ spec.authors = ["Ed Robinson"]
10
+ spec.email = ["ed@reevoo.com"]
11
+ spec.summary = "A super-lightweight wrapper to start assemblyline tasks"
12
+ spec.homepage = "http://github.com/assemblyline"
13
+ spec.license = "MIT"
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0")
16
16
  spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
17
17
  spec.test_files = spec.files.grep(/^(test|spec|features)\//)
18
- spec.require_paths = ['lib']
18
+ spec.require_paths = ["lib"]
19
19
 
20
- spec.add_dependency 'thor', '~> 0.19'
21
- spec.add_development_dependency 'bundler', '~> 1.5'
22
- spec.add_development_dependency 'rake'
23
- spec.add_development_dependency 'reevoocop'
20
+ spec.add_dependency "thor", "~> 0.19"
21
+ spec.add_development_dependency "bundler", "~> 1.5"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "reevoocop"
24
24
  end
data/bin/assemblyline CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'assemblyline/cli'
3
+ require "assemblyline/cli"
4
4
 
5
5
  Assemblyline::CLI.start
@@ -1,3 +1,3 @@
1
1
  module Assemblyline
2
- CLI_VERSION = '0.0.11'
2
+ CLI_VERSION = "0.0.12"
3
3
  end
@@ -1,26 +1,26 @@
1
- require 'assemblyline/cli/version'
2
- require 'thor'
1
+ require "assemblyline/cli/version"
2
+ require "thor"
3
3
 
4
4
  module Assemblyline
5
5
  class CLI < Thor
6
- desc 'build GIT_URL or PATH', 'Build an assemblyline project from a git url or path'
7
- option :debug, type: :boolean, default: false, desc: 'start assemblyline-builder with a tty'
8
- option :push, type: :boolean, default: false, desc: 'push the built image to docker repo'
9
- option :ref, type: :string, desc: 'merge this ref into master before building'
10
- option :dev, type: :string, desc: 'use a local dev checkout of assemblyline-builder', banner: 'PATH'
6
+ desc "build GIT_URL or PATH", "Build an assemblyline project from a git url or path"
7
+ option :debug, type: :boolean, default: false, desc: "start assemblyline-builder with a tty"
8
+ option :push, type: :boolean, default: false, desc: "push the built image to docker repo"
9
+ option :ref, type: :string, desc: "merge this ref into master before building"
10
+ option :dev, type: :string, desc: "use a local dev checkout of assemblyline-builder", banner: "PATH"
11
11
  def build(url_or_path)
12
12
  init_local_mount url_or_path
13
13
  exec "docker run --rm #{bind_mounts} #{env_flags} #{debug_flags} #{dev_mount} #{local_mount} #{assemblyline_builder} bin/build #{build_command(url_or_path)}" # rubocop:disable Metrics/LineLength
14
14
  end
15
15
 
16
- desc 'update', 'update assemblyline'
16
+ desc "update", "update assemblyline"
17
17
  def update
18
18
  fail unless system "docker pull #{assemblyline_builder}"
19
- exec 'gem install assemblyline-cli'
19
+ exec "gem install assemblyline-cli"
20
20
  end
21
21
 
22
- map '-v' => 'version', '--version' => 'version'
23
- desc 'version', 'print the current version'
22
+ map "-v" => "version", "--version" => "version"
23
+ desc "version", "print the current version"
24
24
  def version
25
25
  puts CLI_VERSION
26
26
  end
@@ -39,7 +39,7 @@ module Assemblyline
39
39
 
40
40
  def push
41
41
  return unless options[:push]
42
- '--push '
42
+ "--push "
43
43
  end
44
44
 
45
45
  def sha
@@ -57,7 +57,7 @@ module Assemblyline
57
57
 
58
58
  def debug_flags
59
59
  return unless options[:debug] || options[:dev]
60
- '-ti'
60
+ "-ti"
61
61
  end
62
62
 
63
63
  def dev_mount
@@ -66,35 +66,49 @@ module Assemblyline
66
66
  end
67
67
 
68
68
  def env_flags
69
- env.map { |var, val| "-e #{var}=#{val}" }.join(' ')
69
+ env.map { |var, val| "-e #{var}=#{val}" }.join(" ")
70
70
  end
71
71
 
72
72
  def env
73
73
  {
74
- 'SSH_KEY' => ssh_key,
75
- 'DOCKERCFG' => dockercfg,
76
- 'JSPM_GITHUB_TOKEN' => ENV['JSPM_GITHUB_TOKEN'],
77
- }
74
+ "SSH_KEY" => ssh_key,
75
+ "DOCKERCFG" => dockercfg,
76
+ "JSPM_GITHUB_TOKEN" => ENV["JSPM_GITHUB_TOKEN"],
77
+ "CI" => ci?,
78
+ "CI_MASTER" => ci_master?,
79
+ }.reject { |_, v| v.nil? }
80
+ end
81
+
82
+ def ci?
83
+ %w(CI CONTINUOUS_INTEGRATION TDDIUM TRAVIS BUILD_ID JENKINS_URL CIRCLECI).each do |var|
84
+ return true if ENV[var]
85
+ end
86
+ nil
87
+ end
88
+
89
+ def ci_master?
90
+ return true if ENV["GIT_BRANCH"] == "origin/master"
91
+ return true if ENV["CI_MASTER"]
78
92
  end
79
93
 
80
94
  def bind_mounts
81
- '-v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock'
95
+ "-v /tmp:/tmp -v /var/run/docker.sock:/var/run/docker.sock"
82
96
  end
83
97
 
84
98
  def assemblyline_builder
85
- 'quay.io/assemblyline/builder:latest'
99
+ "quay.io/assemblyline/builder:latest"
86
100
  end
87
101
 
88
102
  def ssh_key
89
103
  key = File.read(key_path)
90
- fail 'SSH private key not found' unless key
104
+ fail "SSH private key not found" unless key
91
105
  key.dump
92
106
  end
93
107
 
94
108
  def dockercfg
95
- cfg = ENV['DOCKERCFG']
96
- cfg ||= File.read(File.join(Dir.home, '.dockercfg'))
97
- cfg.gsub("\n", '').gsub("\t", '').dump
109
+ cfg = ENV["DOCKERCFG"]
110
+ cfg ||= File.read(File.join(Dir.home, ".dockercfg"))
111
+ cfg.gsub("\n", "").gsub("\t", "").dump
98
112
  end
99
113
 
100
114
  def key_path
@@ -102,7 +116,7 @@ module Assemblyline
102
116
  end
103
117
 
104
118
  def ssh_key_path(key)
105
- File.join(ENV['HOME'], ".ssh/#{key}")
119
+ File.join(ENV["HOME"], ".ssh/#{key}")
106
120
  end
107
121
  end
108
122
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assemblyline-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ed Robinson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-17 00:00:00.000000000 Z
11
+ date: 2016-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor