capistrano-bundler 1.6.0 → 2.0.0

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
  SHA256:
3
- metadata.gz: 780794935cf4421e6c6ca628207e7fa7fca0f42c8f856727b4ca26acc410246a
4
- data.tar.gz: d7bf7372a9def4a6d90525f2e09292908b0a1390303e1688ec69024e02ad832c
3
+ metadata.gz: b2afb67a369b2e8390dc9dc5d0459717d4b6e16f7ad8d6d635e308f39a6eee1f
4
+ data.tar.gz: ab6c306e5791441f65077bd3c5b8e5404e39544c85b5f39d25d206d786ffd3c1
5
5
  SHA512:
6
- metadata.gz: 03262ebc4a0d68aa83cc12cc42a620ac76c0872753d5625b37e854551b7776f4d1da575f9bec8407b7496c37b43ac73128fb4ed4ecf2220a4714ebfefe5dc09b
7
- data.tar.gz: 675812f770b249ce6e3c010796713b422d6f9bf9866dd2b1c7bb7af7fb9931cdde5720aa98cedd40b5efceccb2e06d8c68c0278797f61ad7ddfc42caeef0a88a
6
+ metadata.gz: 7829207f89b9b04b6f9ef37771615c5ef1f1e6152cf0b840f9f9bc2084eebc287f90aaa6c116d3e44b3deed0fbd5d21427a7206c67a20608edb21792d3bc8f80
7
+ data.tar.gz: 23ba2692c0004a7627ed580baea167c03770c298030fb3e2bba5b14640660b65219857a10bcc84db07839958ab6367feabf6ea76559926e25131c4f0137d6665
@@ -0,0 +1,17 @@
1
+ name-template: "$NEXT_PATCH_VERSION"
2
+ tag-template: "v$NEXT_PATCH_VERSION"
3
+ categories:
4
+ - title: "⚠️ Breaking Changes"
5
+ label: "⚠️ Breaking"
6
+ - title: "✨ New Features"
7
+ label: "✨ Feature"
8
+ - title: "🐛 Bug Fixes"
9
+ label: "🐛 Bug Fix"
10
+ - title: "📚 Documentation"
11
+ label: "📚 Docs"
12
+ - title: "🏠 Housekeeping"
13
+ label: "🏠 Housekeeping"
14
+ change-template: "- $TITLE (#$NUMBER) @$AUTHOR"
15
+ no-changes-template: "- No changes"
16
+ template: |
17
+ $CHANGES
@@ -0,0 +1,14 @@
1
+ name: Release Drafter
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+
8
+ jobs:
9
+ update_release_draft:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: release-drafter/release-drafter@v5
13
+ env:
14
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -1,6 +1,9 @@
1
- sudo: false
1
+ ---
2
2
  language: ruby
3
+ cache: bundler
4
+ branches:
5
+ only:
6
+ - master
3
7
  rvm:
4
- - 2.3.3
5
- before_install: gem install bundler -v '~> 1.14' --conservative
6
- before_script: bundle exec danger
8
+ - 2.7.1
9
+ script: bundle exec danger
@@ -1,89 +1 @@
1
- # [Unreleased][] (master)
2
-
3
- * Your contribution here!
4
-
5
- # [1.6.0][] (2 Jul 2019)
6
-
7
- * Added `bundle_check_before_install` option to allow bypassing the `bundle install test` in the `bundler:install` task.
8
-
9
- # [1.5.0][] (23 Dec 2018)
10
-
11
- Changes to default behavior
12
-
13
- * Set `bundle_jobs` default to `4` @Tensho
14
-
15
- Breaking changes
16
-
17
- * None
18
-
19
- # [1.4.0][] (21 Oct 2018)
20
-
21
- Breaking changes
22
-
23
- * None
24
-
25
- Added
26
-
27
- * When "bundle install" is skipped due to a Gemfile's dependencies are being satisfied, print a message to the log instead of silently skipping
28
-
29
- # [1.3.0][] (22 Sep 2017)
30
-
31
- Breaking changes
32
-
33
- * None
34
-
35
- Added
36
-
37
- * Set all variables in `load:defaults` task so they are recognised as valid Capistrano settings when using `doctor:variables` and ensure defaults for `bundle_env_variables` and `bundle_clean_options` are set once in the same place as the other defaults.
38
-
39
- # [1.2.0][] (1 Oct 2016)
40
-
41
- Breaking changes
42
-
43
- * None
44
-
45
- Added
46
-
47
- * A `bundle clean` task. There are no default hooks for it.
48
- * Use `bundle check` to check if we can skip `bundle install`
49
- * Run `bundle:install` on rollback (`deploy:reverted`)
50
- * You can now `require "capistrano/bundler/tasks"` to load the tasks only without the hooks
51
-
52
- # 1.1.4 (22 Jan 2015)
53
-
54
- * Don’t generate binstubs by default (#61)
55
-
56
- # 1.1.3 (4 Aug 2014)
57
-
58
- * Honor `:no_release` flag by using `release_roles` in Capistrano 3.1
59
- * capistrano-bundler now requires Capistrano 3.1 or higher (~> 3.1)
60
- * Added `:bundle_jobs` option for specifying number of parallel jobs
61
-
62
- # 1.1.2 (8 Feb 2014)
63
-
64
- * Added `bundle_env_variables` option for specifying environment variables that should be set when running `bundle`.
65
- * The `bundle_dir` option is now named `bundle_path`
66
- * Use `bundle install` instead of `bundle`
67
- * All options are now optional and can be excluded from the final bundle command by setting them to `nil`
68
- * Bundler looks for a `Gemfile` by default, so there is no need to specify it.
69
-
70
- # 1.1.1
71
-
72
- * ruby is not prefixed with `bundle exec` anymore by default
73
- * prefix rails with `bundle exec` by default
74
-
75
- # 1.1.0
76
-
77
- * Switching to new command map (https://github.com/capistrano/sshkit/pull/45)
78
- Thanks to new command map, now this integration adds `bundle exec` to global executables (gem, ruby, rake). The list of executable can be tweaked by `bundle_bins`.
79
-
80
- # 1.0.0
81
-
82
- Initial release
83
-
84
- [Unreleased]: https://github.com/capistrano/bundler/compare/v1.6.0...HEAD
85
- [1.6.0]: https://github.com/capistrano/bundler/compare/v1.5.0...v1.6.0
86
- [1.5.0]: https://github.com/capistrano/bundler/compare/v1.4.0...v1.5.0
87
- [1.4.0]: https://github.com/capistrano/bundler/compare/v1.3.0...v1.4.0
88
- [1.3.0]: https://github.com/capistrano/bundler/compare/v1.2.0...v1.3.0
89
- [1.2.0]: https://github.com/capistrano/bundler/compare/v1.1.4...v1.2.0
1
+ Release notes for this project are kept here: https://github.com/capistrano/bundler/releases
data/Dangerfile CHANGED
@@ -1 +1 @@
1
- danger.import_dangerfile(github: "capistrano/danger")
1
+ danger.import_dangerfile(github: "capistrano/danger", branch: "no-changelog")
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Capistrano, your one stop deployment shop.
3
+ Copyright (c) 2020 Capistrano, your one stop deployment shop.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
data/README.md CHANGED
@@ -14,7 +14,7 @@ Add these lines to your application's Gemfile **[Recommended]**:
14
14
 
15
15
  ```ruby
16
16
  gem 'capistrano', '~> 3.6'
17
- gem 'capistrano-bundler', '~> 1.6'
17
+ gem 'capistrano-bundler', '~> 2.0'
18
18
  ```
19
19
 
20
20
  And then execute:
@@ -72,12 +72,13 @@ Configurable options:
72
72
 
73
73
  ```ruby
74
74
  set :bundle_roles, :all # this is default
75
+ set :bundle_config, { deployment: true } # this is default
75
76
  set :bundle_servers, -> { release_roles(fetch(:bundle_roles)) } # this is default
76
77
  set :bundle_binstubs, -> { shared_path.join('bin') } # default: nil
77
78
  set :bundle_gemfile, -> { release_path.join('MyGemfile') } # default: nil
78
- set :bundle_path, -> { shared_path.join('bundle') } # this is default. set it to nil for skipping the --path flag.
79
+ set :bundle_path, -> { shared_path.join('bundle') } # this is default. set it to nil to use bundler's default path
79
80
  set :bundle_without, %w{development test}.join(' ') # this is default
80
- set :bundle_flags, '--deployment --quiet' # this is default
81
+ set :bundle_flags, '--quiet' # this is default
81
82
  set :bundle_env_variables, {} # this is default
82
83
  set :bundle_clean_options, "" # this is default. Use "--dry-run" if you just want to know what gems would be deleted, without actually deleting them
83
84
  set :bundle_check_before_install, true # default: true. Set this to false to bypass running `bundle check` before executing `bundle install`
@@ -96,19 +97,18 @@ To generate binstubs on each deploy, set `:bundle_binstubs` path:
96
97
  set :bundle_binstubs, -> { shared_path.join('bin') }
97
98
  ```
98
99
 
99
- In the result this would execute the following bundle command on all servers
100
+ In the result this would execute the following bundle commands on all servers
100
101
  (actual paths depend on the real deploy directory):
101
102
 
102
103
  ```sh
103
- $ bundle install \
104
- --binstubs /my_app/shared/bin \
105
- --gemfile /my_app/releases/20130623094732/MyGemfile \
106
- --path /my_app/shared/bundle \
107
- --without development test \
108
- --deployment --quiet
104
+ $ bundle config --local deployment true
105
+ $ bundle config --local gemfile /my_app/releases/20130623094732/MyGemfile
106
+ $ bundle config --local path /my_app/shared/bundle
107
+ $ bundle config --local without "development test"
108
+ $ bundle install --quiet --binstubs /my_app/shared/bin
109
109
  ```
110
110
 
111
- If any option is set to `nil` it will be excluded from the final bundle command.
111
+ If any option is set to `nil` it will be excluded from the final bundle commands.
112
112
 
113
113
  If you want to clean up gems after a successful deploy, add `after 'deploy:published', 'bundler:clean'` to config/deploy.rb.
114
114
 
data/Rakefile CHANGED
@@ -2,3 +2,8 @@ require "bundler/gem_tasks"
2
2
 
3
3
  # Do nothing by default
4
4
  task :default
5
+
6
+ Rake::Task["release"].enhance do
7
+ puts "Don't forget to publish the release on GitHub!"
8
+ system "open https://github.com/capistrano/bundler/releases"
9
+ end
@@ -4,13 +4,16 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'capistrano-bundler'
7
- spec.version = '1.6.0'
7
+ spec.version = '2.0.0'
8
+ spec.license = 'MIT'
8
9
  spec.authors = ['Tom Clements', 'Lee Hambley', 'Kir Shatrov']
9
10
  spec.email = ['seenmyfate@gmail.com', 'lee.hambley@gmail.com', 'shatrov@me.com']
10
11
  spec.description = %q{Bundler support for Capistrano 3.x}
11
12
  spec.summary = %q{Bundler support for Capistrano 3.x}
12
13
  spec.homepage = 'https://github.com/capistrano/bundler'
13
- spec.license = 'MIT'
14
+ spec.metadata = {
15
+ "changelog_uri" => "https://github.com/capistrano/bundler/releases"
16
+ }
14
17
 
15
18
  spec.files = `git ls-files`.split($/)
16
19
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -19,7 +22,7 @@ Gem::Specification.new do |spec|
19
22
 
20
23
  spec.add_dependency 'capistrano', '~> 3.1'
21
24
 
22
- spec.add_development_dependency 'bundler', '~> 1.3'
25
+ spec.add_development_dependency 'bundler', '~> 2.1'
23
26
  spec.add_development_dependency 'danger'
24
27
  spec.add_development_dependency 'rake'
25
28
  end
@@ -1,9 +1,39 @@
1
+ require "shellwords"
2
+
1
3
  namespace :bundler do
2
4
  desc <<-DESC
3
- Install the current Bundler environment. By default, gems will be \
4
- installed to the shared/bundle path. Gems in the development and \
5
- test group will not be installed. The install command is executed \
6
- with the --deployment and --quiet flags.
5
+ Configure the Bundler environment for the release so that subequent
6
+ `bundle check`, `bundle install`, `bundle clean`, and `bundle exec`
7
+ commands all behave consistently. The following settings will be
8
+ turned into the appropriate `bundle config` executions:
9
+
10
+ :bundle_config
11
+ :bundle_gemfile
12
+ :bundle_path
13
+ :bundle_without
14
+ DESC
15
+ task :config do
16
+ on fetch(:bundle_servers) do
17
+ within release_path do
18
+ with fetch(:bundle_env_variables) do
19
+ configuration = fetch(:bundle_config).dup || {}
20
+ configuration[:gemfile] = fetch(:bundle_gemfile)
21
+ configuration[:path] = fetch(:bundle_path)
22
+ configuration[:without] = fetch(:bundle_without)
23
+
24
+ configuration.each do |key, value|
25
+ execute :bundle, "config", "--local", key, value.to_s.shellescape unless value.nil?
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+
32
+ desc <<-DESC
33
+ Install the current Bundler environment. By default, gems will be
34
+ installed to the shared/bundle path. Gems in the development and
35
+ test group will not be installed. The install command is executed
36
+ with the --quiet and --jobs=4 flags.
7
37
 
8
38
  By default, bundler will not be run on servers with no_release: true.
9
39
 
@@ -11,30 +41,27 @@ namespace :bundler do
11
41
 
12
42
  set :bundle_roles, :all
13
43
 
44
+ set :bundle_config, { deployment: true }
14
45
  set :bundle_servers, -> { release_roles(fetch(:bundle_roles)) }
15
- set :bundle_binstubs, -> { shared_path.join('bin') }
46
+ set :bundle_binstubs, nil
16
47
  set :bundle_gemfile, -> { release_path.join('Gemfile') }
17
48
  set :bundle_path, -> { shared_path.join('bundle') }
18
49
  set :bundle_without, %w{development test}.join(' ')
19
- set :bundle_flags, '--deployment --quiet'
20
- set :bundle_jobs, nil
50
+ set :bundle_flags, '--quiet'
51
+ set :bundle_jobs, 4
21
52
  set :bundle_env_variables, {}
22
53
  set :bundle_clean_options, ""
23
54
  DESC
24
- task :install do
55
+ task install: :config do
25
56
  on fetch(:bundle_servers) do
26
57
  within release_path do
27
58
  with fetch(:bundle_env_variables) do
28
- options = []
29
- options << "--gemfile #{fetch(:bundle_gemfile)}" if fetch(:bundle_gemfile)
30
- options << "--path #{fetch(:bundle_path)}" if fetch(:bundle_path)
31
-
32
- if fetch(:bundle_check_before_install) && test(:bundle, :check, *options)
59
+ if fetch(:bundle_check_before_install) && test(:bundle, :check)
33
60
  info "The Gemfile's dependencies are satisfied, skipping installation"
34
61
  else
62
+ options = []
35
63
  options << "--binstubs #{fetch(:bundle_binstubs)}" if fetch(:bundle_binstubs)
36
64
  options << "--jobs #{fetch(:bundle_jobs)}" if fetch(:bundle_jobs)
37
- options << "--without #{fetch(:bundle_without)}" if fetch(:bundle_without)
38
65
  options << "#{fetch(:bundle_flags)}" if fetch(:bundle_flags)
39
66
  execute :bundle, :install, *options
40
67
  end
@@ -56,7 +83,7 @@ namespace :bundler do
56
83
  end
57
84
 
58
85
  desc "Remove unused gems installed by bundler"
59
- task :clean do
86
+ task clean: :config do
60
87
  on fetch(:bundle_servers) do
61
88
  within release_path do
62
89
  with fetch(:bundle_env_variables) do
@@ -76,12 +103,14 @@ namespace :load do
76
103
  set :bundle_bins, %w{gem rake rails}
77
104
 
78
105
  set :bundle_roles, :all
106
+
107
+ set :bundle_config, { deployment: true }
79
108
  set :bundle_servers, -> { release_roles(fetch(:bundle_roles)) }
80
109
  set :bundle_binstubs, nil
81
110
  set :bundle_gemfile, nil
82
111
  set :bundle_path, -> { shared_path.join('bundle') }
83
112
  set :bundle_without, %w{development test}.join(' ')
84
- set :bundle_flags, '--deployment --quiet'
113
+ set :bundle_flags, '--quiet'
85
114
  set :bundle_jobs, 4
86
115
  set :bundle_env_variables, {}
87
116
  set :bundle_clean_options, ""
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Clements
8
8
  - Lee Hambley
9
9
  - Kir Shatrov
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-07-02 00:00:00.000000000 Z
13
+ date: 2020-07-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: capistrano
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '1.3'
35
+ version: '2.1'
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '1.3'
42
+ version: '2.1'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: danger
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -77,6 +77,8 @@ executables: []
77
77
  extensions: []
78
78
  extra_rdoc_files: []
79
79
  files:
80
+ - ".github/release-drafter.yml"
81
+ - ".github/workflows/push.yml"
80
82
  - ".gitignore"
81
83
  - ".travis.yml"
82
84
  - CHANGELOG.md
@@ -95,8 +97,9 @@ files:
95
97
  homepage: https://github.com/capistrano/bundler
96
98
  licenses:
97
99
  - MIT
98
- metadata: {}
99
- post_install_message:
100
+ metadata:
101
+ changelog_uri: https://github.com/capistrano/bundler/releases
102
+ post_install_message:
100
103
  rdoc_options: []
101
104
  require_paths:
102
105
  - lib
@@ -111,8 +114,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
114
  - !ruby/object:Gem::Version
112
115
  version: '0'
113
116
  requirements: []
114
- rubygems_version: 3.0.4
115
- signing_key:
117
+ rubygems_version: 3.1.4
118
+ signing_key:
116
119
  specification_version: 4
117
120
  summary: Bundler support for Capistrano 3.x
118
121
  test_files: []