kitchen_hooks 1.8.5 → 1.8.6

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: 1b0ac3ae55aa7859adfdc6be8f29a6c417158c96
4
- data.tar.gz: bf85a50a43051952e62cd1d3fb4d4ddabeb734b6
3
+ metadata.gz: 3d67d86082ea4febb73e0ad4aaed12aedb0f65d9
4
+ data.tar.gz: 22a9ea6b945b504861da5f7cd8a46a9c253b6165
5
5
  SHA512:
6
- metadata.gz: dfc2412306dea44afb63c7e5f46d9da747df1dda322d7e71e4078a0d696a34531b7a44a6239988eac1669d5d3f774834cc7d145bc8bb76353e3d496925fb1ebf
7
- data.tar.gz: 54b6287f4a956149db97ab804d0513fb52cde1b49c75ef78575697550ef83b70b4448e18871fc8f9330946ef6fb49b84c18f8cff166b9ed7893a7d01800d33a0
6
+ metadata.gz: 91ffbb5eae7d78774041e0e026ab32a712b8f88f9c4e77af7ee703f574912588b233aefbbbfa77393d736e07260bafdb8a6d042e8e0dbc33c98f0b81ba2b64ca
7
+ data.tar.gz: cc824c2924c0cc38b03f88c025981d3ce3c21bdf450d7d50a049a31470b86ef9d2b9322d1e37459ab50b7942e080cc218f23e0d5cc6f3f9042d1c34fcf8e9f9d
data/.gitignore CHANGED
@@ -14,4 +14,9 @@
14
14
  doc
15
15
  pkg
16
16
  tmp
17
- Gemfile.lock
17
+ Gemfile.lock
18
+ .vagrant
19
+ vendor
20
+ artifacts
21
+ reports
22
+ coverage
data/Gemfile CHANGED
@@ -3,6 +3,7 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :development do
6
+ gem 'fpm'
6
7
  gem 'pry'
7
8
  gem 'rake'
8
9
  gem 'yard'
@@ -13,4 +14,8 @@ end
13
14
 
14
15
  group :test do
15
16
  gem 'minitest'
17
+ gem 'ci_reporter'
18
+ gem 'ci_reporter_minitest'
19
+ gem 'simplecov', require: false
20
+ gem 'simplecov-cobertura', github: 'sczizzo/simplecov-cobertura'
16
21
  end
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
+ require 'ci/reporter/rake/minitest'
1
2
  require 'shellwords'
2
- require 'rubygems'
3
3
  require 'bundler'
4
4
  require 'rake'
5
5
 
@@ -12,7 +12,17 @@ Rake::TestTask.new(:test) do |test|
12
12
  test.verbose = true
13
13
  end
14
14
 
15
- task :default => :test
15
+ task default: :test
16
+
17
+ task minitest: %w[ ci:setup:minitest test ]
18
+
19
+ task :report do
20
+ %W[ minitest yard ].each do |task_name|
21
+ sh "bundle exec rake #{task_name}" do
22
+ # Ignore errors
23
+ end
24
+ end
25
+ end
16
26
 
17
27
 
18
28
  # "rake yard"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.8.5
1
+ 1.8.6
data/Vagrantfile ADDED
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- mode: ruby -*-
3
+ # vi: set ft=ruby :
4
+ Vagrant.configure('2') do |config|
5
+ config.vm.provider :virtualbox do |vbox|
6
+ vbox.customize [ 'modifyvm', :id, '--memory', 4096 ]
7
+ vbox.customize [ 'modifyvm', :id, '--cpus', 4 ]
8
+ end
9
+
10
+ config.vm.define 'precise-test' do |node|
11
+ node.vm.box = 'bento/ubuntu-12.04'
12
+ node.vm.hostname = 'test'
13
+ node.vm.network :private_network, ip: '10.10.10.10'
14
+ node.vm.provision :shell, inline: <<-END
15
+ set -x
16
+ set -e
17
+ RUBY_VERSION=2.2
18
+
19
+ if ! hash ruby >/dev/null 2>&1 ; then
20
+ apt-get update
21
+ apt-get install -y make build-essential autoconf
22
+ apt-get install -y vim htop curl git
23
+ apt-get install -y libxml2-dev libxslt1-dev
24
+ apt-get install -y software-properties-common python-software-properties
25
+ apt-add-repository -y ppa:brightbox/ruby-ng
26
+ apt-get update
27
+ apt-get install -y "ruby${RUBY_VERSION}" "ruby${RUBY_VERSION}-dev"
28
+ apt-get install -y ruby-switch
29
+ ruby-switch --set "ruby${RUBY_VERSION}"
30
+ fi
31
+
32
+ dpkg -i /vagrant/tasks/package/artifacts/*.deb
33
+ kitchen_hooks art
34
+ END
35
+ end
36
+
37
+ config.vm.define 'trusty-test' do |node|
38
+ node.vm.box = 'bento/ubuntu-14.04'
39
+ node.vm.hostname = 'test'
40
+ node.vm.network :private_network, ip: '10.10.10.11'
41
+ node.vm.provision :shell, inline: <<-END
42
+ set -x
43
+ set -e
44
+ RUBY_VERSION=2.2
45
+
46
+ if ! hash ruby >/dev/null 2>&1 ; then
47
+ apt-get update
48
+ apt-get install -y make build-essential autoconf
49
+ apt-get install -y vim htop curl git
50
+ apt-get install -y libxml2-dev libxslt1-dev
51
+ apt-get install -y software-properties-common
52
+ apt-add-repository -y ppa:brightbox/ruby-ng
53
+ apt-get update
54
+ apt-get install -y "ruby${RUBY_VERSION}" "ruby${RUBY_VERSION}-dev"
55
+ apt-get install -y ruby-switch
56
+ ruby-switch --set "ruby${RUBY_VERSION}"
57
+ fi
58
+
59
+ dpkg -i /vagrant/tasks/package/artifacts/*.deb
60
+ kitchen_hooks art
61
+ END
62
+ end
63
+ end
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "before": "08f20548e398f634979047d0c8114260bcc2949a",
3
3
  "after": "0835e7c74314cfe2aa9f98fe47338031b637ef95",
4
- "ref": "refs/tags/bjn_catalyst_pilot",
4
+ "ref": "refs/tags/bjn_catalyst_bogus",
5
5
  "user_id": 645,
6
6
  "user_name": "Sean Clemmer",
7
7
  "repository": {
@@ -1,6 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  $:.push File.expand_path(File.join('..', 'lib'), __FILE__)
3
3
  require 'kitchen_hooks/metadata'
4
+ require 'find'
4
5
 
5
6
  Gem::Specification.new do |s|
6
7
  s.name = 'kitchen_hooks'
@@ -45,8 +45,8 @@ private
45
45
  end
46
46
 
47
47
  nodes.map do |n|
48
- c = clients.select { |c| c.name == n.name }.shift
49
- @clients[n.name] = c unless c.nil?
48
+ client = clients.select { |c| c.name == n.name }.shift
49
+ @clients[n.name] = client unless client.nil?
50
50
  n
51
51
  end
52
52
  end.flatten
@@ -65,6 +65,13 @@ module KitchenHooks
65
65
  $stdout.puts 'Applying constraints'
66
66
  constraints = lockfile_constraints 'Berksfile.lock'
67
67
  environment = tag_name event
68
+
69
+ environments = Dir['environments/*.json'].map { |f| File.basename f, '.json' }
70
+ unless environments.include?(environment)
71
+ $stderr.puts 'WARNING: No local environment: %s' % environment
72
+ next
73
+ end
74
+
68
75
  knives.peach do |k|
69
76
  apply_constraints constraints, environment, k
70
77
  verify_constraints constraints, environment, k
@@ -83,6 +90,10 @@ module KitchenHooks
83
90
 
84
91
  $stdout.puts "finished perform_constraint_application: #{event['after']}"
85
92
  return # no error
93
+
94
+ rescue Git::GitExecuteError
95
+ $stderr.puts 'WARNING: Could not check out tagged commit'
96
+ return false
86
97
  end
87
98
 
88
99
 
@@ -451,7 +462,7 @@ module KitchenHooks
451
462
 
452
463
 
453
464
  def self.cookbook_name event
454
- repo_name(event).sub /^(app|base|realm|fork)_/, 'bjn_'
465
+ repo_name(event).sub(/^(app|base|realm|fork)_/, 'bjn_')
455
466
  end
456
467
 
457
468
 
@@ -0,0 +1,9 @@
1
+ FROM sczizzo/trusty-tool:latest
2
+ MAINTAINER Sean Clemmer <sczizzo@gmail.com>
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+
5
+ COPY . /build
6
+
7
+ RUN cd /build && /build/tasks/package/_package.sh /artifacts
8
+
9
+ VOLUME /artifacts
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env bash
2
+ set -x
3
+ set -e
4
+
5
+ ARTIFACTS="${1:-artifacts}"
6
+
7
+ ruby=ruby2.2
8
+ version=$(cat VERSION)
9
+
10
+ rm -rf doc
11
+ rm -rf etc
12
+ rm -rf tmp
13
+ rm -rf .bundle
14
+ rm -rf .vagrant
15
+ rm -rf vendor
16
+ rm -rf pkg
17
+ mkdir -p pkg
18
+
19
+ bundle update
20
+ bundle package --all
21
+
22
+ bundle exec fpm -n kitchen_hooks \
23
+ --after-install tasks/package/post-install.sh \
24
+ --after-upgrade tasks/package/post-install.sh \
25
+ -d "$ruby" -d "$ruby-dev" -d git \
26
+ -s dir -t deb -v "$version" \
27
+ tasks/package/kitchen_hooks.sh=/usr/local/bin/kitchen_hooks \
28
+ ./=/opt/kitchen_hooks
29
+
30
+ # gem uninstall -aIx
31
+ # dpkg -i *.deb
32
+ # ls -la /opt/kitchen_hooks
33
+ # kitchen_hooks art
34
+
35
+ mkdir -p $ARTIFACTS
36
+ mv *.deb $ARTIFACTS
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -e
3
+ KITCHEN_HOOKS_RUBY="${KITCHEN_HOOKS_RUBY:-/usr/bin/ruby2.2}"
4
+ KITCHEN_HOOKS_ROOT="${KITCHEN_HOOKS_ROOT:-/opt/kitchen_hooks}"
5
+ export BUNDLE_GEMFILE="$KITCHEN_HOOKS_ROOT/Gemfile"
6
+ unset BUNDLE_IGNORE_CONFIG
7
+ exec "$KITCHEN_HOOKS_RUBY" -rbundler/setup "$KITCHEN_HOOKS_ROOT/bin/kitchen_hooks" $@
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ project=kitchen_hooks
5
+
6
+ if ! hash bundle ; then
7
+ echo 'Could not run `bundle`, fixing that for you...'
8
+ gem install bundler || gem2.2 install bundler
9
+ fi
10
+
11
+ cd /opt/$project
12
+ bundle install --without development:test:spec --local --deployment
13
+
14
+ useradd --user-group --system -M --shell /bin/false $project || true
15
+
16
+ for d in /opt/$project /etc/$project /var/log/$project /var/data/$project ; do
17
+ mkdir -p $d
18
+ chown -R $project:$project $d
19
+ done
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env bash
2
+ set -x
3
+ set -e
4
+
5
+ project="$(basename `pwd`)"
6
+ artifacts="${1:-tasks/package/artifacts}"
7
+ dockerfile="${2:-tasks/package/Dockerfile}"
8
+ task_name="${3:-$project-package-$(date +%s)}"
9
+ base_image="$(grep '^FROM' "$dockerfile" | awk '{ print $2 }')"
10
+
11
+ cleanup() {
12
+ docker stop "$task_name"
13
+ docker rm "$task_name"
14
+ docker rmi "$task_name"
15
+ }
16
+
17
+ trap cleanup EXIT
18
+
19
+ rm -rf "$artifacts"
20
+ docker pull "$base_image"
21
+ docker build -t "$task_name" -f "$dockerfile" .
22
+ docker run --name "$task_name" -dt "$task_name"
23
+ docker cp "$task_name":/artifacts "$artifacts"
@@ -0,0 +1,16 @@
1
+ FROM sczizzo/trusty-tool:latest
2
+ MAINTAINER Sean Clemmer <sczizzo@gmail.com>
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+
5
+ COPY . /build
6
+
7
+ RUN cd /build \
8
+ && touch .docker \
9
+ && bundle update \
10
+ && bundle exec rake report \
11
+ && mkdir -p /reports/test \
12
+ && mv doc /reports \
13
+ && mv coverage /reports \
14
+ && mv test/reports/* /reports/test
15
+
16
+ VOLUME /reports
data/tasks/test/run.sh ADDED
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env bash
2
+ set -x
3
+ set -e
4
+
5
+ project="$(basename `pwd`)"
6
+ reports="${1:-tasks/test/reports}"
7
+ dockerfile="${2:-tasks/test/Dockerfile}"
8
+ task_name="${3:-$project-test-$(date +%s)}"
9
+ base_image="$(grep '^FROM' "$dockerfile" | awk '{ print $2 }')"
10
+
11
+ cleanup() {
12
+ docker stop "$task_name"
13
+ docker rm "$task_name"
14
+ docker rmi "$task_name"
15
+ }
16
+
17
+ trap cleanup EXIT
18
+
19
+ rm -rf "$reports"
20
+ docker pull "$base_image"
21
+ docker build -t "$task_name" -f "$dockerfile" .
22
+ docker run --name "$task_name" -dt "$task_name"
23
+ docker cp "$task_name":/reports "$reports"
@@ -0,0 +1,7 @@
1
+ require 'simplecov'
2
+ require 'simplecov-cobertura'
3
+ SimpleCov.formatters = [
4
+ SimpleCov::Formatter::HTMLFormatter,
5
+ SimpleCov::Formatter::CoberturaFormatter
6
+ ]
7
+ SimpleCov.start
@@ -0,0 +1,19 @@
1
+ require 'minitest/autorun'
2
+
3
+ require_relative 'test_helper'
4
+ require_relative '../lib/kitchen_hooks'
5
+
6
+ Thread.abort_on_exception = true
7
+
8
+
9
+ class TestKitchenHooks < MiniTest::Test
10
+ def setup
11
+ end
12
+
13
+ def teardown
14
+ end
15
+
16
+ def test_fails
17
+ assert false
18
+ end
19
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen_hooks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.5
4
+ version: 1.8.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Clemmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-10 00:00:00.000000000 Z
11
+ date: 2016-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hipchat
@@ -219,6 +219,7 @@ files:
219
219
  - Rakefile
220
220
  - Readme.md
221
221
  - VERSION
222
+ - Vagrantfile
222
223
  - bin/kitchen_hooks
223
224
  - etc/commit-constraint.json
224
225
  - etc/commit-cookbook.json
@@ -231,6 +232,15 @@ files:
231
232
  - lib/kitchen_hooks/helpers/sync_servers.rb
232
233
  - lib/kitchen_hooks/main.rb
233
234
  - lib/kitchen_hooks/metadata.rb
235
+ - tasks/package/Dockerfile
236
+ - tasks/package/_package.sh
237
+ - tasks/package/kitchen_hooks.sh
238
+ - tasks/package/post-install.sh
239
+ - tasks/package/run.sh
240
+ - tasks/test/Dockerfile
241
+ - tasks/test/run.sh
242
+ - test/test_helper.rb
243
+ - test/test_kitchen_hooks.rb
234
244
  - web/app/kitchen_hooks.js
235
245
  - web/app/style/kitchen_hooks.css
236
246
  - web/public/favicon.ico
@@ -271,4 +281,6 @@ rubygems_version: 2.4.5.1
271
281
  signing_key:
272
282
  specification_version: 4
273
283
  summary: GitLab WebHoook for automated Chef Server uploads
274
- test_files: []
284
+ test_files:
285
+ - test/test_helper.rb
286
+ - test/test_kitchen_hooks.rb