capistrano-nomad 0.13.3 → 0.14.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: 0ffa8354891c995cfc4b2a143d06bc36288f3ede167922dc2bdf3b5e1246281d
4
- data.tar.gz: 579819253b4ff921c1db9d15edaeaa27b6b1083966ace79aa27e75ec05e85993
3
+ metadata.gz: f23cd98ffcf93c05fd2dc4b20a9acff9865d2904fd105e015d2e3565b7a18957
4
+ data.tar.gz: 0f4f57b9f66a0477fcbd9f92cbf3f43e5abdfb331e7a629c8f683e4ff5772e4c
5
5
  SHA512:
6
- metadata.gz: cf1229c6a719bfcd7d18b969a96689207ad871c9300b8b33365c72c706e9ffeca679d600a46dcd8eae7dc941d147d04d7167a93faa55e89cf3ff34de4c617cef
7
- data.tar.gz: 681e068ea81c408975cecc04ec59be55d187d8836e4ae399e01f38bfe1a3584acfc57b1d3dd3fd01a40793f67263ea516a24e755d70c408b448cac7072abde4d
6
+ metadata.gz: 98cd1097efdf727564e167a52da40754fe344661d5d6707841d1efa109047a333f31c99e2adbf6a71639b59b5d461701ca314fb8e72dd6ad778c756481f06a5e
7
+ data.tar.gz: 8de1096141ae90c3c83a5a2d3bb267a8b8785f2f51fff979671ccbff8a05ba4981f618e42c8f3b6aec6f54c996398de361efe9a0bd41fd65f44396c3339550c5
@@ -0,0 +1,39 @@
1
+ ---
2
+ description: Release a new version of the gem
3
+ agent: build
4
+ ---
5
+
6
+ Release a new version of the capistrano-nomad gem.
7
+
8
+ ## Current State
9
+
10
+ Current version: !`grep -m1 'spec.version' capistrano-nomad.gemspec | sed 's/.*"\(.*\)"/\1/'`
11
+
12
+ Changes pending release:
13
+ !`sed -n '/## \[Unreleased\]/,/## \[/p' CHANGELOG.md | head -20`
14
+
15
+ ## Steps to perform:
16
+
17
+ 1. **Ask what version to release** (unless specified via arguments: $ARGUMENTS)
18
+
19
+ 2. **Update the version** in `capistrano-nomad.gemspec` (line 5: `spec.version = "X.Y.Z"`)
20
+
21
+ 3. **Update CHANGELOG.md**:
22
+ - Rename `[Unreleased]` section to the new version number (e.g., `## [0.15.0]`)
23
+ - Add a new empty `## [Unreleased]` section at the top
24
+
25
+ 4. **Commit the version bump**:
26
+ ```shell
27
+ git add capistrano-nomad.gemspec CHANGELOG.md
28
+ git commit -m "X.Y.Z"
29
+ ```
30
+
31
+ 5. **Run the release command**:
32
+ ```shell
33
+ bundle exec rake release
34
+ ```
35
+
36
+ This will:
37
+ - Create a git tag for the version
38
+ - Push git commits and the created tag
39
+ - Push the `.gem` file to rubygems.org
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.14.1]
4
+
5
+ - Support for `IS_DETACHED` environment variable to run jobs in detached mode (e.g. `IS_DETACHED=true cap production nomad:app:deploy`)
6
+
7
+ ## [0.14.0]
8
+
9
+ - `nomad:deploy` properly deploys all jobs across all namespaces now
10
+
3
11
  ## [0.13.3]
4
12
 
5
13
  - Support for namespace-level `erb_vars` that are passed to all jobs within that namespace
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- capistrano-nomad (0.13.3)
4
+ capistrano-nomad (0.14.1)
5
5
  activesupport (<= 7.0.8)
6
6
  byebug
7
7
  capistrano (~> 3.0)
data/README.md CHANGED
@@ -174,6 +174,14 @@ cap production nomad:app:revert VERSION=4
174
174
  cap production nomad:app:revert DOCKER_IMAGE=v1.4.4
175
175
  ```
176
176
 
177
+ Run jobs in detached mode (fire and forget)
178
+
179
+ ```shell
180
+ IS_DETACHED=true cap production nomad:app:deploy
181
+ IS_DETACHED=true cap production nomad:app:run
182
+ IS_DETACHED=true cap production nomad:analytics:grafana:upload_run
183
+ ```
184
+
177
185
  Open job in web UI
178
186
 
179
187
  ```shell
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "capistrano-nomad"
5
- spec.version = "0.13.3"
5
+ spec.version = "0.14.1"
6
6
  spec.authors = ["James Hu"]
7
7
 
8
8
  spec.summary = "Capistrano plugin for deploying and managing Nomad jobs"
@@ -9,3 +9,7 @@ end
9
9
  def capistrano_nomad_run_remotely(&block)
10
10
  on(roles(:manager), &block)
11
11
  end
12
+
13
+ def capistrano_nomad_job_detached_overridden?
14
+ ENV["IS_DETACHED"]&.downcase == "true"
15
+ end
@@ -88,12 +88,12 @@ def nomad_job(name, attributes = {})
88
88
 
89
89
  desc("Run #{description_name} job")
90
90
  task(:run) do
91
- capistrano_nomad_run_jobs([name], namespace: namespace, is_detached: false)
91
+ capistrano_nomad_run_jobs([name], namespace: namespace, is_detached: capistrano_nomad_job_detached_overridden?)
92
92
  end
93
93
 
94
94
  desc("Purge and run #{description_name} job again")
95
95
  task(:rerun) do
96
- capistrano_nomad_rerun_jobs([name], namespace: namespace, is_detached: false)
96
+ capistrano_nomad_rerun_jobs([name], namespace: namespace, is_detached: capistrano_nomad_job_detached_overridden?)
97
97
  end
98
98
 
99
99
  desc("Upload and plan #{description_name} job")
@@ -103,17 +103,17 @@ def nomad_job(name, attributes = {})
103
103
 
104
104
  desc("Upload and run #{description_name} job")
105
105
  task(:upload_run) do
106
- capistrano_nomad_upload_run_jobs([name], namespace: namespace, is_detached: false)
106
+ capistrano_nomad_upload_run_jobs([name], namespace: namespace, is_detached: capistrano_nomad_job_detached_overridden?)
107
107
  end
108
108
 
109
109
  desc("Upload and re-run #{description_name} job")
110
110
  task(:upload_rerun) do
111
- capistrano_nomad_upload_rerun_jobs([name], namespace: namespace, is_detached: false)
111
+ capistrano_nomad_upload_rerun_jobs([name], namespace: namespace, is_detached: capistrano_nomad_job_detached_overridden?)
112
112
  end
113
113
 
114
114
  desc("Deploy #{description_name} job")
115
115
  task(:deploy) do
116
- capistrano_nomad_deploy_jobs([name], namespace: namespace, is_detached: false)
116
+ capistrano_nomad_deploy_jobs([name], namespace: namespace, is_detached: capistrano_nomad_job_detached_overridden?)
117
117
  end
118
118
 
119
119
  desc("Start #{description_name} job")
@@ -142,7 +142,7 @@ def nomad_job(name, attributes = {})
142
142
 
143
143
  desc("Purge #{description_name} job")
144
144
  task(:purge) do
145
- capistrano_nomad_purge_jobs([name], namespace: namespace, is_detached: false)
145
+ capistrano_nomad_purge_jobs([name], namespace: namespace, is_detached: capistrano_nomad_job_detached_overridden?)
146
146
  end
147
147
 
148
148
  desc("Display status of #{description_name} job")
@@ -261,7 +261,7 @@ def capistrano_nomad_upload(local_path:, remote_path:, erb_vars: {})
261
261
  end
262
262
 
263
263
  def capistrano_nomad_ensure_options!(options)
264
- options[:namespace] ||= :default
264
+ options[:namespace] = :default unless options.key?(:namespace)
265
265
  end
266
266
 
267
267
  def capistrano_nomad_fetch_namespace_options(**options)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-nomad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.3
4
+ version: 0.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Hu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-10-06 00:00:00.000000000 Z
11
+ date: 2026-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -114,6 +114,7 @@ executables: []
114
114
  extensions: []
115
115
  extra_rdoc_files: []
116
116
  files:
117
+ - ".opencode/commands/release.md"
117
118
  - CHANGELOG.md
118
119
  - Gemfile
119
120
  - Gemfile.lock