mina 1.2.3 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +26 -0
  3. data/.gitignore +0 -1
  4. data/.rspec +1 -1
  5. data/.rubocop.yml +28 -1126
  6. data/CHANGELOG.md +126 -3
  7. data/Gemfile +2 -0
  8. data/Gemfile.lock +73 -0
  9. data/Rakefile +2 -0
  10. data/Readme.md +8 -12
  11. data/bin/mina +2 -0
  12. data/data/deploy.rb +10 -6
  13. data/docs/3rd_party_plugins.md +3 -0
  14. data/docs/assets/images/mina.png +0 -0
  15. data/docs/cookbook.md +1 -1
  16. data/docs/default_plugins.md +5 -5
  17. data/docs/how_mina_works.md +3 -3
  18. data/lib/Minafile +1 -0
  19. data/lib/mina/application.rb +45 -35
  20. data/lib/mina/backend/local.rb +2 -0
  21. data/lib/mina/backend/remote.rb +3 -1
  22. data/lib/mina/commands.rb +10 -7
  23. data/lib/mina/configuration.rb +6 -3
  24. data/lib/mina/dsl.rb +2 -2
  25. data/lib/mina/helpers/internal.rb +9 -9
  26. data/lib/mina/helpers/output.rb +5 -3
  27. data/lib/mina/runner/exec.rb +2 -0
  28. data/lib/mina/runner/pretty.rb +25 -19
  29. data/lib/mina/runner/printer.rb +2 -0
  30. data/lib/mina/runner/system.rb +2 -0
  31. data/lib/mina/runner.rb +9 -10
  32. data/lib/mina/version.rb +3 -1
  33. data/lib/mina/windows_patches.rb +4 -2
  34. data/lib/mina.rb +4 -3
  35. data/mina.gemspec +8 -7
  36. data/spec/configs/default.rb +8 -0
  37. data/spec/configs/dsl.rb +55 -0
  38. data/spec/configs/e2e.rb +25 -0
  39. data/spec/e2e/docker-compose.yml +21 -0
  40. data/spec/e2e/e2e_run.sh +11 -0
  41. data/spec/e2e/e2e_spec.rb +35 -0
  42. data/spec/e2e/ssh +27 -0
  43. data/spec/e2e/ssh.pub +1 -0
  44. data/spec/lib/mina/application_spec.rb +94 -35
  45. data/spec/lib/mina/backend/local_spec.rb +5 -2
  46. data/spec/lib/mina/backend/remote_spec.rb +5 -3
  47. data/spec/lib/mina/commands_spec.rb +7 -7
  48. data/spec/lib/mina/configuration_spec.rb +63 -3
  49. data/spec/lib/mina/dsl_spec.rb +94 -0
  50. data/spec/lib/mina/helpers/internal_spec.rb +89 -11
  51. data/spec/lib/mina/helpers/output_spec.rb +13 -10
  52. data/spec/lib/mina/runner/exec_spec.rb +19 -0
  53. data/spec/lib/mina/runner/pretty_spec.rb +17 -0
  54. data/spec/lib/mina/runner/printer_spec.rb +19 -0
  55. data/spec/lib/mina/runner/system_spec.rb +19 -0
  56. data/spec/lib/mina/runner_spec.rb +6 -10
  57. data/spec/spec_helper.rb +33 -14
  58. data/spec/support/outputs/bundle_clean.txt +2 -2
  59. data/spec/support/outputs/chruby_with_env.txt +7 -0
  60. data/spec/support/outputs/chruby_without_env.txt +2 -0
  61. data/spec/support/outputs/debug_configuration_variables.txt +11 -0
  62. data/spec/support/outputs/dsl_deploy.txt +4 -0
  63. data/spec/support/outputs/dsl_in_path.txt +1 -0
  64. data/spec/support/outputs/dsl_local_run.txt +5 -0
  65. data/spec/support/outputs/dsl_on.txt +6 -0
  66. data/spec/support/outputs/dsl_remote_run.txt +5 -0
  67. data/spec/support/outputs/dsl_reset.txt +2 -0
  68. data/spec/support/outputs/e2e_deploy_after_setup.txt +1 -0
  69. data/spec/support/outputs/e2e_deploy_without_setup.txt +1 -0
  70. data/spec/support/outputs/e2e_setup.txt +1 -0
  71. data/spec/support/outputs/environment.txt +1 -0
  72. data/spec/support/outputs/git_clone.txt +1 -1
  73. data/spec/support/outputs/git_clone_commit.txt +1 -1
  74. data/spec/support/outputs/git_ensure_pushed.txt +15 -0
  75. data/spec/support/outputs/rails_assets_precompile_force_precompile.txt +2 -0
  76. data/spec/support/outputs/rails_assets_precompile_outside_deploy_block.txt +1 -0
  77. data/spec/support/outputs/rails_assets_precompile_with_diff.txt +7 -0
  78. data/spec/support/outputs/rails_console.txt +1 -0
  79. data/spec/support/outputs/rails_db_migrate_force_migrate.txt +2 -0
  80. data/spec/support/outputs/rails_db_migrate_outside_deploy_block.txt +1 -0
  81. data/spec/support/outputs/rails_db_migrate_with_diff.txt +7 -0
  82. data/spec/support/outputs/rails_log.txt +1 -0
  83. data/spec/support/outputs/rails_with_arguments.txt +1 -0
  84. data/spec/support/outputs/rails_without_arguments.txt +1 -0
  85. data/spec/support/outputs/rake_with_arguments.txt +1 -0
  86. data/spec/support/outputs/rake_without_arguments.txt +1 -0
  87. data/spec/support/outputs/rbenv_load.txt +9 -1
  88. data/spec/support/outputs/rvm_use_with_env.txt +8 -0
  89. data/spec/support/outputs/rvm_use_without_env.txt +2 -0
  90. data/spec/support/outputs/rvm_wrapper_with_arguments.txt +8 -0
  91. data/spec/support/outputs/rvm_wrapper_without_arguments.txt +2 -0
  92. data/spec/support/outputs/ry_with_env.txt +13 -0
  93. data/spec/support/outputs/ry_without_env.txt +13 -0
  94. data/spec/support/outputs/ssh.txt +1 -0
  95. data/spec/support/outputs/ssh_keyscan_domain.txt +3 -0
  96. data/spec/support/rake_example_group.rb +23 -19
  97. data/spec/tasks/bundler_spec.rb +6 -0
  98. data/spec/tasks/chruby_spec.rb +29 -0
  99. data/spec/tasks/default_spec.rb +79 -7
  100. data/spec/tasks/deploy_spec.rb +6 -0
  101. data/spec/tasks/git_spec.rb +12 -0
  102. data/spec/tasks/init_spec.rb +13 -4
  103. data/spec/tasks/rails_spec.rb +126 -15
  104. data/spec/tasks/rbenv_spec.rb +15 -0
  105. data/spec/tasks/rvm_spec.rb +51 -0
  106. data/spec/tasks/ry_spec.rb +43 -0
  107. data/tasks/mina/bundler.rb +7 -5
  108. data/tasks/mina/chruby.rb +7 -5
  109. data/tasks/mina/default.rb +19 -12
  110. data/tasks/mina/deploy.rb +27 -25
  111. data/tasks/mina/git.rb +28 -15
  112. data/tasks/mina/install.rb +9 -0
  113. data/tasks/mina/rails.rb +29 -27
  114. data/tasks/mina/rbenv.rb +8 -6
  115. data/tasks/mina/rvm.rb +13 -11
  116. data/tasks/mina/ry.rb +11 -11
  117. data/test_env/config/deploy.rb +9 -8
  118. metadata +69 -37
  119. data/spec/support/outputs/chruby.txt +0 -9
  120. data/spec/support/outputs/console.txt +0 -1
  121. data/spec/support/outputs/log.txt +0 -1
  122. data/spec/support/outputs/rails_db_migrate.txt +0 -1
  123. data/spec/support/outputs/rvm_use.txt +0 -1
  124. data/spec/support/outputs/ry.txt +0 -15
  125. data/spec/tasks/ruby_managers_spec.rb +0 -33
data/tasks/mina/rails.rb CHANGED
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'mina/deploy'
2
4
  require 'mina/bundler'
3
5
 
4
6
  set :rails_env, 'production'
5
- set :bundle_prefix, -> { %{RAILS_ENV="#{fetch(:rails_env)}" #{fetch(:bundle_bin)} exec} }
7
+ set :bundle_prefix, -> { %(RAILS_ENV="#{fetch(:rails_env)}" #{fetch(:bundle_bin)} exec) }
6
8
  set :rake, -> { "#{fetch(:bundle_prefix)} rake" }
7
9
  set :rails, -> { "#{fetch(:bundle_prefix)} rails" }
8
10
  set :compiled_asset_path, 'public/assets'
@@ -14,8 +16,8 @@ set :shared_dirs, fetch(:shared_dirs, []).push('log', 'tmp/cache', fetch(:compil
14
16
  desc 'Starts an interactive console.'
15
17
  task :console do
16
18
  set :execution_mode, :exec
17
- in_path "#{fetch(:current_path)}" do
18
- command %{#{fetch(:rails)} console}
19
+ in_path fetch(:current_path) do
20
+ command %(#{fetch(:rails)} console)
19
21
  end
20
22
  end
21
23
 
@@ -23,7 +25,7 @@ desc 'Tail log from server'
23
25
  task :log do
24
26
  set :execution_mode, :exec
25
27
  in_path "#{fetch(:shared_path)}/log" do
26
- command %{tail -f #{fetch(:rails_env)}.log}
28
+ command %(tail -f #{fetch(:rails_env)}.log)
27
29
  end
28
30
  end
29
31
 
@@ -32,72 +34,72 @@ namespace :rails do
32
34
  task :db_migrate do
33
35
  ensure!(:deploy_block, message: "Can't be run outside deploy do block. Please use mina 'rake[db_migrate]' instead")
34
36
  if fetch(:force_migrate)
35
- comment %{Migrating database}
36
- command %{#{fetch(:rake)} db:migrate}
37
+ comment %(Migrating database)
38
+ command %(#{fetch(:rake)} db:migrate)
37
39
  else
38
40
  command check_for_changes_script(
39
41
  at: fetch(:migration_dirs),
40
- skip: %{echo "-----> DB migrations unchanged; skipping DB migration"},
41
- changed: %{echo "-----> Migrating database"
42
- #{echo_cmd("#{fetch(:rake)} db:migrate")}}
42
+ skip: %(echo "-----> DB migrations unchanged; skipping DB migration"),
43
+ changed: %(echo "-----> Migrating database"
44
+ #{echo_cmd("#{fetch(:rake)} db:migrate")})
43
45
  ), quiet: true
44
46
  end
45
47
  end
46
48
 
47
49
  desc 'Create database'
48
50
  task :db_create do
49
- comment %{Creating database}
50
- command %{#{fetch(:rake)} db:create}
51
+ comment %(Creating database)
52
+ command %(#{fetch(:rake)} db:create)
51
53
  end
52
54
 
53
55
  desc 'Rollback database'
54
56
  task :db_rollback do
55
- comment %{Rollbacking database}
56
- command %{#{fetch(:rake)} db:rollback}
57
+ comment %(Rollbacking database)
58
+ command %(#{fetch(:rake)} db:rollback)
57
59
  end
58
60
 
59
61
  desc 'Precompiles assets (skips if nothing has changed since the last release).'
60
62
  task :assets_precompile do
61
63
  ensure!(:deploy_block, message: "Can't be run outside deploy do block. Please use mina 'rake[assets_precompile]' instead")
62
64
  if fetch(:force_asset_precompile)
63
- comment %{Precompiling asset files}
64
- command %{#{fetch(:rake)} assets:precompile}
65
+ comment %(Precompiling asset files)
66
+ command %(#{fetch(:rake)} assets:precompile)
65
67
  else
66
68
  command check_for_changes_script(
67
69
  at: fetch(:asset_dirs),
68
- skip: %{echo "-----> Skipping asset precompilation"},
69
- changed: %{echo "-----> Precompiling asset files"
70
- #{echo_cmd "#{fetch(:rake)} assets:precompile"}}
70
+ skip: %(echo "-----> Skipping asset precompilation"),
71
+ changed: %(echo "-----> Precompiling asset files"
72
+ #{echo_cmd "#{fetch(:rake)} assets:precompile"})
71
73
  ), quiet: true
72
74
  end
73
75
  end
74
76
 
75
77
  desc 'Clear older assets'
76
78
  task :assets_clean do
77
- comment %{Removing older assets}
78
- command %{#{fetch(:rake)} assets:clean}
79
+ comment %(Removing older assets)
80
+ command %(#{fetch(:rake)} assets:clean)
79
81
  end
80
82
 
81
83
  desc 'DB schema load'
82
84
  task :db_schema_load do
83
- comment %{DB schema load}
84
- command %{#{fetch(:rake)} db:schema:load}
85
+ comment %(DB schema load)
86
+ command %(#{fetch(:rake)} db:schema:load)
85
87
  end
86
88
  end
87
89
 
88
90
  def check_for_changes_script(options)
89
91
  diffs = options[:at].map do |path|
90
- %{diff -qrN "#{fetch(:current_path)}/#{path}" "./#{path}" 2>/dev/null}
92
+ %(diff -qrN "#{fetch(:current_path)}/#{path}" "./#{path}" 2>/dev/null)
91
93
  end.join(' && ')
92
94
 
93
- %{
95
+ %(
94
96
  if #{diffs}
95
97
  then
96
98
  #{options[:skip]}
97
99
  else
98
100
  #{options[:changed]}
99
101
  fi
100
- }
102
+ )
101
103
  end
102
104
 
103
105
  # Macro used later by :rails, :rake, etc
@@ -107,10 +109,10 @@ make_run_task = lambda { |name, example|
107
109
 
108
110
  arguments = args[:arguments]
109
111
  unless arguments
110
- puts %{You need to provide arguments. Try: mina "#{name}[#{example}]"}
112
+ puts %(You need to provide arguments. Try: mina "#{name}[#{example}]")
111
113
  exit 1
112
114
  end
113
- in_path "#{fetch(:current_path)}" do
115
+ in_path fetch(:current_path) do
114
116
  command %(#{fetch(name)} #{arguments})
115
117
  end
116
118
  end
data/tasks/mina/rbenv.rb CHANGED
@@ -1,15 +1,17 @@
1
- set :rbenv_path, "$HOME/.rbenv"
1
+ # frozen_string_literal: true
2
+
3
+ set :rbenv_path, '$HOME/.rbenv'
2
4
 
3
5
  task :'rbenv:load' do
4
- comment %{Loading rbenv}
5
- command %{export RBENV_ROOT="#{fetch(:rbenv_path)}"}
6
- command %{export PATH="#{fetch(:rbenv_path)}/bin:$PATH"}
7
- command %{
6
+ comment %(Loading rbenv)
7
+ command %(export RBENV_ROOT="#{fetch(:rbenv_path)}")
8
+ command %(export PATH="#{fetch(:rbenv_path)}/bin:$PATH")
9
+ command %(
8
10
  if ! which rbenv >/dev/null; then
9
11
  echo "! rbenv not found"
10
12
  echo "! If rbenv is installed, check your :rbenv_path setting."
11
13
  exit 1
12
14
  fi
13
- }
15
+ )
14
16
  command %{eval "$(rbenv init -)"}
15
17
  end
data/tasks/mina/rvm.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  set :rvm_use_path, '$HOME/.rvm/scripts/rvm'
2
4
 
3
5
  task :'rvm:use', :env do |_, args|
@@ -7,33 +9,33 @@ task :'rvm:use', :env do |_, args|
7
9
  exit 1
8
10
  end
9
11
 
10
- comment %{Using RVM environment \\\"#{args[:env]}\\\"}
11
- command %{
12
+ comment %(Using RVM environment \\\"#{args[:env]}\\\")
13
+ command %(
12
14
  if [[ ! -s "#{fetch(:rvm_use_path)}" ]]; then
13
15
  echo "! Ruby Version Manager not found"
14
16
  echo "! If RVM is installed, check your :rvm_use_path setting."
15
17
  exit 1
16
18
  fi
17
- }
18
- command %{source #{fetch(:rvm_use_path)}}
19
- command %{rvm use "#{args[:env]}" --create}
19
+ )
20
+ command %(source #{fetch(:rvm_use_path)})
21
+ command %(rvm use "#{args[:env]}" --create)
20
22
  end
21
23
 
22
24
  task :'rvm:wrapper', :env, :name, :bin do |_, args|
23
25
  unless args[:env] && args[:name] && args[:bin]
24
- puts "Task 'rvm:wrapper' needs an RVM environment name, an wrapper name and the binary name as arguments"
26
+ puts "Task 'rvm:wrapper' needs an RVM environment name, a wrapper name and the binary name as arguments"
25
27
  puts "Example: invoke :'rvm:wrapper', 'ruby-1.9.2@myapp,myapp,unicorn_rails'"
26
28
  exit 1
27
29
  end
28
30
 
29
- comment %{creating RVM wrapper "#{args[:name]}_#{args[:bin]}" using \\"#{args[:env]}\\"}
30
- command %{
31
+ comment %(creating RVM wrapper "#{args[:name]}_#{args[:bin]}" using \\"#{args[:env]}\\")
32
+ command %(
31
33
  if [[ ! -s "#{fetch(:rvm_use_path)}" ]]; then
32
34
  echo "! Ruby Version Manager not found"
33
35
  echo "! If RVM is installed, check your :rvm_use_path setting."
34
36
  exit 1
35
37
  fi
36
- }
37
- command %{source #{fetch(:rvm_use_path)}}
38
- command %{rvm wrapper #{args[:env]} #{args[:name]} #{args[:bin]} || exit 1}
38
+ )
39
+ command %(source #{fetch(:rvm_use_path)})
40
+ command %(rvm wrapper #{args[:env]} #{args[:name]} #{args[:bin]} || exit 1)
39
41
  end
data/tasks/mina/ry.rb CHANGED
@@ -1,26 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  set :ry_path, '$HOME/.local'
2
4
 
3
5
  task :ry, :env do |_, args|
4
- unless args[:env]
5
- puts "Task 'ry' without argument will use default Ruby version."
6
- end
6
+ puts "Task 'ry' without argument will use default Ruby version." unless args[:env]
7
7
 
8
- comment %{ry to version: \\"#{args[:env] || '**not specified**'}\\"}
9
- comment %{Loading ry}
8
+ comment %(ry to version: \\"#{args[:env] || '**not specified**'}\\")
9
+ comment %(Loading ry)
10
10
 
11
- command %{
11
+ command %(
12
12
  if [[ ! -e "#{fetch(:ry_path)}/bin" ]]; then
13
13
  echo "! ry not found"
14
14
  echo "! If ry is installed, check your :ry_path setting."
15
15
  exit 1
16
16
  fi
17
- }
18
- command %{export PATH="#{fetch(:ry_path)}/bin:$PATH"}
17
+ )
18
+ command %(export PATH="#{fetch(:ry_path)}/bin:$PATH")
19
19
  command %{eval "$(ry setup)"}
20
- command %{RY_RUBY="#{args[:env]}"}
21
- command %{
20
+ command %(RY_RUBY="#{args[:env]}")
21
+ command %(
22
22
  if [ -n "$RY_RUBY" ]; then
23
23
  #{echo_cmd 'ry use $RY_RUBY'} || exit 1
24
24
  fi
25
- }
25
+ )
26
26
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # # NOTE:
2
4
  # # Yes, you can deploy this project. It will deploy into the ./deploy/
3
5
  # # directory. The commands have been stubbed, so it's harmless. No rails or
@@ -23,11 +25,10 @@ require 'mina/rvm'
23
25
  require 'mina/rbenv'
24
26
  require 'mina/chruby'
25
27
  require 'pry'
26
- #
27
28
 
28
29
  set :domain, 'localhost'
29
30
  set :deploy_to, "#{Dir.pwd}/deploy"
30
- set :repository, "#{Mina.root_path}"
31
+ set :repository, Mina.root_path.to_s
31
32
  set :shared_paths, ['config/database.yml', 'log']
32
33
  set :keep_releases, 2
33
34
 
@@ -49,7 +50,7 @@ task :deploy do
49
50
  invoke :'deploy:cleanup'
50
51
 
51
52
  on :launch do
52
- comment %{in launch}
53
+ comment %(in launch)
53
54
  end
54
55
  end
55
56
  end
@@ -57,17 +58,17 @@ end
57
58
  desc 'Task description'
58
59
  task :test do
59
60
  run :remote do
60
- comment %{PWD}
61
+ comment %(PWD)
61
62
  in_path('/Users') do
62
- command %{ls -al}
63
+ command %(ls -al)
63
64
  end
64
65
  on :after do
65
- command %{pwd}
66
+ command %(pwd)
66
67
  end
67
68
  end
68
69
 
69
70
  run :local do
70
- command %{ls -al}
71
+ command %(ls -al)
71
72
  end
72
73
  end
73
74
 
@@ -75,7 +76,7 @@ desc 'Fails test'
75
76
  task :fail do
76
77
  run :remote do
77
78
  run :local do
78
- command "pwd"
79
+ command 'pwd'
79
80
  end
80
81
  end
81
82
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mina
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stjepan Hadjić
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-22 00:00:00.000000000 Z
11
+ date: 2023-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -25,35 +25,21 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: open4
28
+ name: pry
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 1.3.4
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 1.3.4
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
31
+ - - ">="
46
32
  - !ruby/object:Gem::Version
47
- version: 3.5.0
33
+ version: '0'
48
34
  type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - "~>"
38
+ - - ">="
53
39
  - !ruby/object:Gem::Version
54
- version: 3.5.0
40
+ version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: pry-byebug
42
+ name: rspec
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
@@ -67,7 +53,7 @@ dependencies:
67
53
  - !ruby/object:Gem::Version
68
54
  version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: awesome_print
56
+ name: rubocop
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
@@ -81,7 +67,7 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: simplecov
70
+ name: rubocop-rspec
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
@@ -95,7 +81,7 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: codeclimate-test-reporter
84
+ name: simplecov
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - ">="
@@ -117,12 +103,14 @@ extensions: []
117
103
  extra_rdoc_files: []
118
104
  files:
119
105
  - ".codeclimate.yml"
106
+ - ".github/workflows/ci.yml"
120
107
  - ".github_changelog_generator"
121
108
  - ".gitignore"
122
109
  - ".rspec"
123
110
  - ".rubocop.yml"
124
111
  - CHANGELOG.md
125
112
  - Gemfile
113
+ - Gemfile.lock
126
114
  - LICENSE
127
115
  - PRE_1_CHANGELOG.md
128
116
  - Rakefile
@@ -132,6 +120,7 @@ files:
132
120
  - data/deploy.sh.erb
133
121
  - docs/3rd_party_plugins.md
134
122
  - docs/Readme.md
123
+ - docs/assets/images/mina.png
135
124
  - docs/cookbook.md
136
125
  - docs/default_plugins.md
137
126
  - docs/deploying.md
@@ -158,47 +147,91 @@ files:
158
147
  - lib/mina/version.rb
159
148
  - lib/mina/windows_patches.rb
160
149
  - mina.gemspec
150
+ - spec/configs/default.rb
151
+ - spec/configs/dsl.rb
152
+ - spec/configs/e2e.rb
153
+ - spec/e2e/docker-compose.yml
154
+ - spec/e2e/e2e_run.sh
155
+ - spec/e2e/e2e_spec.rb
156
+ - spec/e2e/ssh
157
+ - spec/e2e/ssh.pub
161
158
  - spec/lib/mina/application_spec.rb
162
159
  - spec/lib/mina/backend/local_spec.rb
163
160
  - spec/lib/mina/backend/remote_spec.rb
164
161
  - spec/lib/mina/commands_spec.rb
165
162
  - spec/lib/mina/configuration_spec.rb
163
+ - spec/lib/mina/dsl_spec.rb
166
164
  - spec/lib/mina/helpers/internal_spec.rb
167
165
  - spec/lib/mina/helpers/output_spec.rb
166
+ - spec/lib/mina/runner/exec_spec.rb
167
+ - spec/lib/mina/runner/pretty_spec.rb
168
+ - spec/lib/mina/runner/printer_spec.rb
169
+ - spec/lib/mina/runner/system_spec.rb
168
170
  - spec/lib/mina/runner_spec.rb
169
171
  - spec/spec_helper.rb
170
172
  - spec/support/outputs/bundle_clean.txt
171
173
  - spec/support/outputs/bundle_install.txt
172
- - spec/support/outputs/chruby.txt
173
- - spec/support/outputs/console.txt
174
+ - spec/support/outputs/chruby_with_env.txt
175
+ - spec/support/outputs/chruby_without_env.txt
176
+ - spec/support/outputs/debug_configuration_variables.txt
174
177
  - spec/support/outputs/deploy_cleanup.txt
175
178
  - spec/support/outputs/deploy_force_unlock.txt
176
179
  - spec/support/outputs/deploy_link_shared_paths.txt
180
+ - spec/support/outputs/dsl_deploy.txt
181
+ - spec/support/outputs/dsl_in_path.txt
182
+ - spec/support/outputs/dsl_local_run.txt
183
+ - spec/support/outputs/dsl_on.txt
184
+ - spec/support/outputs/dsl_remote_run.txt
185
+ - spec/support/outputs/dsl_reset.txt
186
+ - spec/support/outputs/e2e_deploy_after_setup.txt
187
+ - spec/support/outputs/e2e_deploy_without_setup.txt
188
+ - spec/support/outputs/e2e_setup.txt
189
+ - spec/support/outputs/environment.txt
177
190
  - spec/support/outputs/git_clone.txt
178
191
  - spec/support/outputs/git_clone_commit.txt
192
+ - spec/support/outputs/git_ensure_pushed.txt
179
193
  - spec/support/outputs/git_revision.txt
180
- - spec/support/outputs/log.txt
181
194
  - spec/support/outputs/rails_assets_clean.txt
182
195
  - spec/support/outputs/rails_assets_precompile.txt
196
+ - spec/support/outputs/rails_assets_precompile_force_precompile.txt
197
+ - spec/support/outputs/rails_assets_precompile_outside_deploy_block.txt
198
+ - spec/support/outputs/rails_assets_precompile_with_diff.txt
199
+ - spec/support/outputs/rails_console.txt
183
200
  - spec/support/outputs/rails_db_create.txt
184
- - spec/support/outputs/rails_db_migrate.txt
201
+ - spec/support/outputs/rails_db_migrate_force_migrate.txt
202
+ - spec/support/outputs/rails_db_migrate_outside_deploy_block.txt
203
+ - spec/support/outputs/rails_db_migrate_with_diff.txt
185
204
  - spec/support/outputs/rails_db_rollback.txt
186
205
  - spec/support/outputs/rails_db_schema_load.txt
206
+ - spec/support/outputs/rails_log.txt
207
+ - spec/support/outputs/rails_with_arguments.txt
208
+ - spec/support/outputs/rails_without_arguments.txt
209
+ - spec/support/outputs/rake_with_arguments.txt
210
+ - spec/support/outputs/rake_without_arguments.txt
187
211
  - spec/support/outputs/rbenv_load.txt
188
212
  - spec/support/outputs/rollback.txt
189
213
  - spec/support/outputs/run.txt
190
- - spec/support/outputs/rvm_use.txt
191
- - spec/support/outputs/ry.txt
214
+ - spec/support/outputs/rvm_use_with_env.txt
215
+ - spec/support/outputs/rvm_use_without_env.txt
216
+ - spec/support/outputs/rvm_wrapper_with_arguments.txt
217
+ - spec/support/outputs/rvm_wrapper_without_arguments.txt
218
+ - spec/support/outputs/ry_with_env.txt
219
+ - spec/support/outputs/ry_without_env.txt
192
220
  - spec/support/outputs/setup.txt
221
+ - spec/support/outputs/ssh.txt
222
+ - spec/support/outputs/ssh_keyscan_domain.txt
193
223
  - spec/support/outputs/ssh_keyscan_repo.txt
194
224
  - spec/support/rake_example_group.rb
195
225
  - spec/tasks/bundler_spec.rb
226
+ - spec/tasks/chruby_spec.rb
196
227
  - spec/tasks/default_spec.rb
197
228
  - spec/tasks/deploy_spec.rb
198
229
  - spec/tasks/git_spec.rb
199
230
  - spec/tasks/init_spec.rb
200
231
  - spec/tasks/rails_spec.rb
201
- - spec/tasks/ruby_managers_spec.rb
232
+ - spec/tasks/rbenv_spec.rb
233
+ - spec/tasks/rvm_spec.rb
234
+ - spec/tasks/ry_spec.rb
202
235
  - tasks/mina/bundler.rb
203
236
  - tasks/mina/chruby.rb
204
237
  - tasks/mina/default.rb
@@ -214,7 +247,7 @@ homepage: https://github.com/mina-deploy/mina
214
247
  licenses:
215
248
  - MIT
216
249
  metadata: {}
217
- post_install_message:
250
+ post_install_message:
218
251
  rdoc_options: []
219
252
  require_paths:
220
253
  - lib
@@ -230,9 +263,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
263
  - !ruby/object:Gem::Version
231
264
  version: '0'
232
265
  requirements: []
233
- rubyforge_project:
234
- rubygems_version: 2.6.11
235
- signing_key:
266
+ rubygems_version: 3.2.3
267
+ signing_key:
236
268
  specification_version: 4
237
269
  summary: Blazing fast application deployment tool.
238
270
  test_files: []
@@ -1,9 +0,0 @@
1
- echo "-----> chruby to version: "123""
2
-
3
- if [[ ! -s "/etc/profile.d/chruby.sh" ]]; then
4
- echo "! chruby.sh init file not found"
5
- exit 1
6
- fi
7
-
8
- source /etc/profile.d/chruby.sh
9
- chruby "123" || exit 1
@@ -1 +0,0 @@
1
- \(cd\ .*/deploy/current\ &&\ RAILS_ENV="production"\ bundle\ exec\ rails\ console\ &&\ cd\ -\)
@@ -1 +0,0 @@
1
- \(cd\ .*deploy/shared/log\ &&\ tail\ \-f\ production\.log\ &&\ cd\ -\)
@@ -1 +0,0 @@
1
- if\ diff\ \-qrN\ ".*deploy/current/db/migrate"\ "\./db/migrate"\ 2>/dev/null\s*then\s*echo\ "\-\-\-\-\->\ DB\ migrations\ unchanged;\ skipping\ DB\ migration"\s*else\s*echo\ "\-\-\-\-\->\ Migrating\ database"\s*RAILS_ENV="production"\ bundle\ exec\ rake\ db:migrate\s*fi
@@ -1 +0,0 @@
1
- echo\ "\-\-\-\-\->\ Using\ RVM\ environment\ \\\"123\\\"\"\s*if\ \[\[\ !\ \-s\ "\$HOME/\.rvm/scripts/rvm"\ \]\];\ then\s*echo\ "!\ Ruby\ Version\ Manager\ not\ found"\s*echo\ "!\ If\ RVM\ is\ installed,\ check\ your\ :rvm_use_path\ setting\."\s*exit 1\s*fi\s*source\ \$HOME/\.rvm/scripts/rvm\n\s*rvm\ use\ \"123\"\ \-\-create
@@ -1,15 +0,0 @@
1
- echo "-----> Loading ry"
2
-
3
- if [[ ! -e "$HOME/.local/bin" ]]; then
4
- echo "! ry not found"
5
- echo "! If ry is installed, check your :ry_path setting."
6
- exit 1
7
- fi
8
-
9
- export PATH="$HOME/.local/bin:$PATH"
10
- eval "$(ry setup)"
11
- RY_RUBY=""
12
-
13
- if [ -n "$RY_RUBY" ]; then
14
- ry use $RY_RUBY || exit 1
15
- fi
@@ -1,33 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.describe 'ruby_managers', type: :rake do
4
- describe 'ry' do
5
- it 'ry' do
6
- expect { invoke_all }.to output(output_file('ry')).to_stdout
7
- end
8
- end
9
-
10
- describe 'rbenv:load' do
11
- it 'rbenv:load' do
12
- expect { invoke_all }.to output(output_file('rbenv_load')).to_stdout
13
- end
14
- end
15
-
16
- describe 'chruby' do
17
- it 'chruby' do
18
- expect { invoke_all('123') }.to output(output_file('chruby')).to_stdout
19
- end
20
- end
21
-
22
- describe 'rvm:use' do
23
- it 'rvm:use' do
24
- expect { invoke_all('123') }.to output(output_file('rvm_use')).to_stdout
25
- end
26
- end
27
-
28
- # describe 'rvm:wrapper' do
29
- # it 'rails db migrate' do
30
- # expect { invoke_all('123') }.to output('').to_stdout
31
- # end
32
- # end
33
- end