assemblyline-cli 0.0.11 → 0.0.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 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