capistrano-mise 0.1.0 → 0.1.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
  SHA256:
3
- metadata.gz: bc195e84e9c69c1058bfbb7899a7335e8b580ae9504e02c9c5568db1962ceb34
4
- data.tar.gz: 8f711f539d0897768e79de6cfe86dae6e9e29968615e11b2b6f29286cefdf1b8
3
+ metadata.gz: 2b5cc29c97d576e4c01adf2b2ef7bf813b035240af313c27608344e691921bea
4
+ data.tar.gz: 7e03d264ddb23c3d72b69e4d1e9febb895d005761fea2c1ebbda5ed9cde77481
5
5
  SHA512:
6
- metadata.gz: b0e6bc50bc4480368a5a2d82b848862dcbd722a6ff232726829d27a046eaa6919ff850bf635ec18e5cad9964f3c5cf8993accf4ccba1f16d16720f41ce5694ba
7
- data.tar.gz: 45037703949301e25d04a3ab70aa7125b0badbad64f78a3675296e8653044dbeb50d4e4584d810706858c48e6c3748c1f6fc0346073d8552cea25eb7983b111e
6
+ metadata.gz: 41d46dde4ad298fb47a0b5e79e53b50a27ad9088296f4dc99dee10ebb398aa5b8427251c8b9b8235127d394a6d4551641407580da7c276391b0d8b420e311552
7
+ data.tar.gz: 4c7a202f25aba31162087918ccf95a56ed5f050d61839b3dcad4db151795ed2bb6e92da9db6d4ac686f98c3ac92f33acfb3d06524f345b9e10912e9a17c67e79
data/CHANGELOG.md CHANGED
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.1] - 2026-09-26
11
+
12
+ ### Fixed
13
+ - A command listed in `:mise_map_bins` as both a string and a symbol, say `"bundle"`
14
+ and `:bundle`, was wrapped twice and ran as `mise exec -- mise exec -- bundle`. Names
15
+ are now normalised to symbols before de-duplicating, which is how SSHKit keys them.
16
+ - `:mise_path` and `:mise_map_bins` set in a Capfile were overwritten when the defaults
17
+ loaded. All three defaults now use `set_if_empty`, as `:mise_roles` effectively
18
+ already did. Values set in `deploy.rb` or a stage file were never affected.
19
+
20
+ ### Documentation
21
+ - `:mise_roles` limits where `mise:check` and `mise:install` run, not where the
22
+ `mise exec` prefix applies. SSHKit has one command map for every host, so every host
23
+ that runs a mapped command needs mise. The README now says so.
24
+
10
25
  ## [0.1.0] - 2026-09-18
11
26
 
12
27
  First release.
@@ -53,5 +68,6 @@ First release.
53
68
  backend, and the Capistrano DSL is reachable there only because
54
69
  `capistrano/setup` includes it into `Object`.
55
70
 
56
- [Unreleased]: https://github.com/7a6163/capistrano-mise/compare/v0.1.0...HEAD
71
+ [Unreleased]: https://github.com/7a6163/capistrano-mise/compare/v0.1.1...HEAD
72
+ [0.1.1]: https://github.com/7a6163/capistrano-mise/compare/v0.1.0...v0.1.1
57
73
  [0.1.0]: https://github.com/7a6163/capistrano-mise/releases/tag/v0.1.0
data/README.md CHANGED
@@ -43,7 +43,13 @@ same way `capistrano-rbenv` does not install rbenv.
43
43
  |---|---|---|
44
44
  | `:mise_path` | `$HOME/.local/bin/mise` | Absolute path to the mise binary. A host provisioned from a package manager has it at `/usr/bin/mise` or `/usr/local/bin/mise` and must say so. |
45
45
  | `:mise_map_bins` | `%w[rake gem bundle ruby rails]` | Which commands to run through mise. |
46
- | `:mise_roles` | `:all` | Which roles this applies to. |
46
+ | `:mise_roles` | `:all` | Which roles `mise:check` and `mise:install` run on. See the note below. |
47
+
48
+ **`:mise_roles` does not limit the `mise exec` prefix.** SSHKit keeps one command map
49
+ for every host, so once `mise:map_bins` has run, `bundle`, `rake` and the rest go through
50
+ mise wherever they run. Narrowing `:mise_roles` only narrows where mise is checked for and
51
+ installed into. Every host that runs a mapped command needs mise, whatever its role.
52
+ `capistrano-rbenv`'s `:rbenv_roles` behaves the same way, for the same reason.
47
53
 
48
54
  `:mise_map_bins` is Ruby-only on purpose. Adding `node` here when your repo does not declare
49
55
  node means `mise exec -- node` quietly falls back to whatever node is on the host's `PATH` —
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Capistrano
4
4
  module Mise
5
- VERSION = "0.1.0".freeze
5
+ VERSION = "0.1.1".freeze
6
6
  end
7
7
  end
@@ -46,8 +46,8 @@ namespace :mise do
46
46
  # unshift, so a command already carrying a prefix (capistrano-bundler's
47
47
  # `bundle exec`) keeps it and gains mise in front rather than losing it.
48
48
  prefix = commands.exec_prefix(fetch(:mise_path))
49
- fetch(:mise_map_bins).uniq.each do |command|
50
- SSHKit.config.command_map.prefix[command.to_sym].unshift(prefix)
49
+ fetch(:mise_map_bins).map(&:to_sym).uniq.each do |command|
50
+ SSHKit.config.command_map.prefix[command].unshift(prefix)
51
51
  end
52
52
  end
53
53
  end
@@ -74,8 +74,8 @@ after "deploy:updating", "mise:install"
74
74
 
75
75
  namespace :load do
76
76
  task :defaults do
77
- set :mise_path, "$HOME/.local/bin/mise"
78
- set :mise_roles, fetch(:mise_roles, :all)
79
- set :mise_map_bins, %w[rake gem bundle ruby rails]
77
+ set_if_empty :mise_path, "$HOME/.local/bin/mise"
78
+ set_if_empty :mise_roles, :all
79
+ set_if_empty :mise_map_bins, %w[rake gem bundle ruby rails]
80
80
  end
81
81
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-mise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zac