mina-sidekiq 0.3.0 → 0.3.1

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: 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: