mina-sidekiq 0.3.0 → 0.3.1

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: f1bba161f9399c6c8cea213d7faf58b4876edb8c
4
- data.tar.gz: 6670d52acffcb22eeefccf07a18c51b3b246b33e
3
+ metadata.gz: d4ad61054148338a35c4ecdddeba0f75ffe3e84d
4
+ data.tar.gz: cb22bb7811c809f78f0b08830b21cb119904b585
5
5
  SHA512:
6
- metadata.gz: 51b9d652430f4cf542ebe35f9d23b8057353e4626ae2f6d501744878d0ed07449d4a63062edf7699aa8e5a47071e54ee1889046f2f4fbf200db45375ffdc82d8
7
- data.tar.gz: 7da87f2b7e6e483237028710cb75849551c64dafba2343c5c33a02e3fd9e371e91d42384d02e352c88dc86ff7fcaf5ef587a564ef22d91352d473292edb773e3
6
+ metadata.gz: 0e9ac235f8f2a49d640b03b14899a889dff88b87bc401de329b313a8b56719e6180d7229e9cb05e069a20d14f571264146b1cae74ec4339ab86930b2a2429b04
7
+ data.tar.gz: f32ab1cdced24d2c85d1c43e24f86f1ecb7b9a19ea2bfd0a505d6899e3301df3b703b488ce88f285feb4e9fbb15cdfb69e2f4b9c9878d16fdda3e0513f3fa7cb
data/.travis.yml CHANGED
@@ -2,5 +2,6 @@ language: ruby
2
2
  rvm:
3
3
  - "1.9.3"
4
4
  - "2.0.0"
5
+ - "2.1.0"
5
6
  services: redis
6
7
  env: FORCE_ADD_SSH_KEY=1
data/Changelog.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 0.3.1 2015-01-18
5
+ ----------------
6
+
7
+ * fix starting in background
8
+
4
9
  0.2.0 2013-08-18
5
10
  ----------------
6
11
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mina-sidekiq (0.2.0)
4
+ mina-sidekiq (0.3.0)
5
5
  mina
6
6
 
7
7
  GEM
@@ -11,7 +11,7 @@ GEM
11
11
  open4
12
12
  rake
13
13
  open4 (1.3.0)
14
- rake (10.1.0)
14
+ rake (10.1.1)
15
15
 
16
16
  PLATFORMS
17
17
  ruby
data/Rakefile CHANGED
@@ -1,52 +1,9 @@
1
- require 'rake'
1
+ require "rake"
2
+ require "rake/testtask"
2
3
 
3
- desc 'Run integration tests'
4
- task :test do
5
- Dir.chdir("#{Rake.original_dir}/test_env") do
6
- if ENV['FORCE_ADD_SSH_KEY']
7
- force_add_ssh_key
8
- end
9
-
10
- FileUtils.rm_rf('deploy')
11
- sh 'mina setup --verbose'
12
- begin
13
- # fresh deploy
14
- sh 'mina deploy --verbose'
15
- # second deploy
16
- sh 'mina deploy --verbose'
17
- rescue Exception => e
18
- puts e.message
19
- puts e.backtrace.inspect
20
- log = "./deploy/shared/sidekiq.log"
21
- if File.exists?(log)
22
- puts "cat #{log}"
23
- puts File.open(log).read
24
- end
25
- end
26
- end
27
- end
28
-
29
- def force_add_ssh_key(&block)
30
- ssh_key = File.expand_path("~/.ssh/id_rsa.pub")
31
- unless File.exists?(ssh_key)
32
- sh "ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa"
33
- end
34
- file = File.open(ssh_key)
35
- pub_key = file.readline
36
- file.close
37
-
38
- authorized_keys = File.expand_path("~/.ssh/authorized_keys")
39
- begin
40
- File.open(authorized_keys, 'a+') do |f|
41
- File.chmod(0600, authorized_keys)
42
- f.puts(pub_key)
43
- end
44
- rescue Exception => e
45
- puts e.message
46
- puts e.backtrace.inspect
47
- ensure
48
- File.chmod(0400, authorized_keys)
49
- end
4
+ Rake::TestTask.new do |t|
5
+ t.libs << "test"
6
+ t.test_files = FileList["test/**/*_test.rb"]
50
7
  end
51
8
 
52
- task :default => :test
9
+ task default: :test
@@ -110,7 +110,7 @@ namespace :sidekiq do
110
110
  for_each_process do |pid_file, idx|
111
111
  queue %{
112
112
  cd "#{deploy_to}/#{current_path}"
113
- #{echo_cmd %[nohup #{sidekiq} -e #{rails_env} -C #{sidekiq_config} -i #{idx} -P #{pid_file} >> #{sidekiq_log} 2>&1 &] }
113
+ #{echo_cmd %[#{sidekiq} -d -e #{rails_env} -C #{sidekiq_config} -i #{idx} -P #{pid_file} -L #{sidekiq_log}] }
114
114
  }
115
115
  end
116
116
  end
@@ -1,5 +1,5 @@
1
1
  module MinaSidekiq
2
2
  def self.version
3
- "0.3.0"
3
+ "0.3.1"
4
4
  end
5
5
  end
data/mina-sidekiq.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.homepage = "http://github.com/Mic92/mina-sidekiq"
11
11
  s.summary = "Tasks to deploy Sidekiq with mina."
12
12
  s.description = "Adds tasks to aid in the deployment of Sidekiq"
13
- s.license = 'MIT'
13
+ s.license = "MIT"
14
14
 
15
15
  s.files = `git ls-files`.split("\n")
16
16
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.post_install_message = <<-MESSAGE
20
20
  Starting with 0.2.0, you have to add:
21
21
 
22
- require 'mina_sidekiq/tasks'
22
+ require "mina_sidekiq/tasks"
23
23
 
24
24
  in your deploy.rb to load the library
25
25
  MESSAGE
@@ -0,0 +1,61 @@
1
+ require "test_helper"
2
+
3
+ describe "mina_sidekiq" do
4
+ before do
5
+ @old_cwd = Dir.pwd
6
+ @env_root = TEST_ROOT.join("..", "test_env")
7
+ Dir.chdir(@env_root)
8
+ FileUtils.rm_rf("deploy")
9
+ end
10
+ after { Dir.chdir(@old_cwd) }
11
+
12
+ def mina(task)
13
+ cmd = "bundle exec mina --verbose #{task}"
14
+ puts "$ #{cmd}"
15
+ system cmd
16
+ end
17
+
18
+ def check_process(pid)
19
+ begin
20
+ Process.kill(0, pid)
21
+ return true
22
+ rescue Errno::EPERM => e
23
+ puts "No permission to query #{pid}!"
24
+ raise e
25
+ rescue Errno::ESRCH
26
+ puts "#{pid} is NOT running."
27
+ return false
28
+ rescue
29
+ puts "Unable to determine status for #{pid} : #{$!}"
30
+ end
31
+ end
32
+
33
+ describe "setup" do
34
+ before { mina "setup" }
35
+ it "should deploy" do
36
+ begin
37
+ # fresh deploy
38
+ mina "deploy"
39
+ # second deploy
40
+ mina "deploy"
41
+ rescue Exception => e
42
+ log = "./deploy/shared/sidekiq.log"
43
+ if File.exists?(log)
44
+ puts "cat #{log}"
45
+ puts File.open(log).read
46
+ end
47
+ raise e
48
+ end
49
+ end
50
+ it "should start/stop sidekiq" do
51
+ sidekiq_pid_path = @env_root.join("deploy", "shared", "pids", "sidekiq.pid")
52
+ # fresh deploy
53
+ mina "sidekiq:start"
54
+ pid = File.read(sidekiq_pid_path)
55
+ check_process(pid).must_equal true
56
+ # second deploy
57
+ mina "sidekiq:stop"
58
+ check_process(pid).must_equal true
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,63 @@
1
+ require "minitest/spec"
2
+ require "minitest/autorun"
3
+ require 'pathname'
4
+
5
+ TEST_ROOT = Pathname.new(File.dirname(__FILE__))
6
+
7
+ module MiniTestWithHooks
8
+ class Unit < MiniTest::Unit
9
+ def before_suites; end
10
+ def after_suites; end
11
+
12
+ def _run_suites(suites, type)
13
+ begin
14
+ before_suites
15
+ super(suites, type)
16
+ ensure
17
+ after_suites
18
+ end
19
+ end
20
+
21
+ def _run_suite(suite, type)
22
+ begin
23
+ suite.before_suite
24
+ super(suite, type)
25
+ ensure
26
+ suite.after_suite
27
+ end
28
+ end
29
+ end
30
+ end
31
+
32
+ module MiniTestWithTransactions
33
+ class Unit < MiniTestWithHooks::Unit
34
+ def before_suites
35
+ super
36
+ if ENV["FORCE_ADD_SSH_KEY"]
37
+ force_add_ssh_key
38
+ end
39
+ end
40
+ def force_add_ssh_key(&block)
41
+ ssh_key = File.expand_path("~/.ssh/id_rsa.pub")
42
+ unless File.exists?(ssh_key)
43
+ sh "ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa"
44
+ end
45
+ file = File.open(ssh_key)
46
+ pub_key = file.readline
47
+ file.close
48
+
49
+ authorized_keys = File.expand_path("~/.ssh/authorized_keys")
50
+ begin
51
+ File.open(authorized_keys, "a+") do |f|
52
+ File.chmod(0600, authorized_keys)
53
+ f.puts(pub_key)
54
+ end
55
+ rescue Exception => e
56
+ puts e.message
57
+ puts e.backtrace.inspect
58
+ ensure
59
+ File.chmod(0400, authorized_keys)
60
+ end
61
+ end
62
+ end
63
+ end
@@ -6,6 +6,7 @@ require 'mina/bundler'
6
6
  require 'mina/rvm'
7
7
  require 'fileutils'
8
8
 
9
+
9
10
  FileUtils.mkdir_p "#{Dir.pwd}/deploy"
10
11
 
11
12
  set :ssh_options, '-o StrictHostKeyChecking=no'
@@ -19,15 +20,15 @@ set :sidekiq_processes, 2
19
20
  set :shared_paths, ['log']
20
21
 
21
22
  task :environment do
22
- invoke :'rvm:use[ruby-2.0.0]'
23
+ invoke :'rvm:use[ruby-2.1.2]'
23
24
  end
24
25
 
25
- task :setup => :environment do
26
+ task setup: :environment do
26
27
  queue! %[mkdir -p "#{deploy_to}/shared/pids/"]
27
28
  queue! %[mkdir -p "#{deploy_to}/shared/log/"]
28
29
  end
29
30
 
30
- task :deploy => :environment do
31
+ task deploy: :environment do
31
32
  deploy do
32
33
  invoke :'git:clone'
33
34
  invoke :'deploy:link_shared_paths'
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mina-sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joerg Thalheim
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-04 00:00:00.000000000 Z
11
+ date: 2015-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mina
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  description: Adds tasks to aid in the deployment of Sidekiq
@@ -31,8 +31,8 @@ executables: []
31
31
  extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
- - .gitignore
35
- - .travis.yml
34
+ - ".gitignore"
35
+ - ".travis.yml"
36
36
  - Changelog.md
37
37
  - Gemfile
38
38
  - Gemfile.lock
@@ -43,6 +43,8 @@ files:
43
43
  - lib/mina_sidekiq/tasks.rb
44
44
  - lib/mina_sidekiq/version.rb
45
45
  - mina-sidekiq.gemspec
46
+ - test/deploy_test.rb
47
+ - test/test_helper.rb
46
48
  - test_env/config/deploy.rb
47
49
  homepage: http://github.com/Mic92/mina-sidekiq
48
50
  licenses:
@@ -51,7 +53,7 @@ metadata: {}
51
53
  post_install_message: |
52
54
  Starting with 0.2.0, you have to add:
53
55
 
54
- require 'mina_sidekiq/tasks'
56
+ require "mina_sidekiq/tasks"
55
57
 
56
58
  in your deploy.rb to load the library
57
59
  rdoc_options: []
@@ -59,18 +61,21 @@ require_paths:
59
61
  - lib
60
62
  required_ruby_version: !ruby/object:Gem::Requirement
61
63
  requirements:
62
- - - '>='
64
+ - - ">="
63
65
  - !ruby/object:Gem::Version
64
66
  version: '0'
65
67
  required_rubygems_version: !ruby/object:Gem::Requirement
66
68
  requirements:
67
- - - '>='
69
+ - - ">="
68
70
  - !ruby/object:Gem::Version
69
71
  version: '0'
70
72
  requirements: []
71
73
  rubyforge_project:
72
- rubygems_version: 2.0.7
74
+ rubygems_version: 2.4.5
73
75
  signing_key:
74
76
  specification_version: 4
75
77
  summary: Tasks to deploy Sidekiq with mina.
76
- test_files: []
78
+ test_files:
79
+ - test/deploy_test.rb
80
+ - test/test_helper.rb
81
+ has_rdoc: