capistrano-nomad 0.8.2 → 0.8.3

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: f0748cefe640533eb1e27bf32b49f399a59f481d9d6fc3a5526f32371bdaa49d
4
- data.tar.gz: 2a440dc3cba7df056faba0aedc71ec9d3d5e089189697eb4d75a91a0636cc2e6
3
+ metadata.gz: 05ca5407915d371647ac8f0a856b1469313a666f00db80d781b50de0b9bc2f4f
4
+ data.tar.gz: 98e1e339f24d011fe3bc751d31c0174cf39330ce201fd74609c24f07977c4fae
5
5
  SHA512:
6
- metadata.gz: 1741648c6769f84e8ed3f2c5ad3f14a4ea742bc07be4b27f3fdc3b68af684a9b9c7a7346cf060f477ca576a7fc6ce1e775e8d1cf9f6dfdb173c5ed9c8047671b
7
- data.tar.gz: 6ddb34c43f24c92b86f1fb9055c15e45ad851ebad706a750187c09f1f454f8d5102ee82bbddf66857d201ccc91657e043f34cf24e0f1a407ccb406b42f629bca
6
+ metadata.gz: 760b8a91e198f34dcc981cb645dd4e4e6b5144a939d890452e20630dad831202473c6f002de3c6f0370c9ba1e1d7ef2cd7ea3795d80abbb9d56169ac82ad86c7
7
+ data.tar.gz: 1de68b27f9b918ceb16c7045dccacc1cd151937888f850fd3a57606cb10fb86051b511a3212aff4487102a79b080dbe7cc3f0a6b50bf9bfd4a7f41eada2ec5f1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- capistrano-nomad (0.8.2)
4
+ capistrano-nomad (0.8.3)
5
5
  activesupport (<= 7.0.8)
6
6
  byebug
7
7
  capistrano (~> 3.0)
data/README.md CHANGED
@@ -49,6 +49,19 @@ set :nomad_template_vars, (lambda do
49
49
  }
50
50
  end)
51
51
 
52
+ # Change docker build command
53
+ set :nomad_docker_build_command, (lambda do
54
+ "docker buildx build"
55
+ end)
56
+
57
+ # Pass additional options into `docker build`
58
+ set :nomad_docker_build_command_options, (lambda do
59
+ [
60
+ "--cache-to type=gha",
61
+ "--cache-from type=gha",
62
+ ]
63
+ end)
64
+
52
65
  # Make helpers available to all template .erb files
53
66
  nomad_template_helpers do
54
67
  def restart_stanza(interval = "1m")
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "capistrano-nomad"
5
- spec.version = "0.8.2"
5
+ spec.version = "0.8.3"
6
6
  spec.authors = ["James Hu"]
7
7
 
8
8
  spec.summary = "Capistrano plugin for deploying and managing Nomad jobs"
@@ -67,39 +67,39 @@ end
67
67
  def capistrano_nomad_build_docker_image_for_type(image_type)
68
68
  image_type = image_type.to_sym
69
69
  attributes = fetch(:nomad_docker_image_types)[image_type]
70
+ command = fetch(:nomad_docker_build_command) || "docker build"
71
+ options = Array(fetch(:nomad_docker_build_command_options)) || []
70
72
 
71
73
  return unless attributes
72
74
 
73
75
  # No need to build if there's no path
74
76
  return unless attributes[:path]
75
77
 
76
- args = [
77
- # Ensure images are built for x86_64 which is production env otherwise it will default to local development env
78
- # which can be arm64 (Apple Silicon)
79
- "--platform linux/amd64",
80
- ]
78
+ # Ensure images are built for x86_64 which is production env otherwise it will default to local development env which
79
+ # can be arm64 (Apple Silicon)
80
+ options << "--platform linux/amd64"
81
81
 
82
82
  if (target = attributes[:target])
83
- args << "--target #{target}"
83
+ options << "--target #{target}"
84
84
  end
85
85
 
86
86
  build_args = attributes[:build_args]
87
87
  build_args = build_args.call if build_args&.is_a?(Proc)
88
88
 
89
89
  (build_args || []).each do |key, value|
90
- args << "--build-arg #{key}=#{value}"
90
+ options << "--build-arg #{key}=#{value}"
91
91
  end
92
92
 
93
93
  docker_build_command = lambda do |path|
94
- image_alias_args = args.dup
94
+ image_alias_options = options.dup
95
95
 
96
96
  [capistrano_nomad_build_docker_image_alias(image_type)]
97
97
  .compact
98
98
  .each do |tag|
99
- image_alias_args << "--tag #{tag}"
99
+ image_alias_options << "--tag #{tag}"
100
100
  end
101
101
 
102
- "docker build #{image_alias_args.join(' ')} #{path}"
102
+ "#{command} #{image_alias_options.join(' ')} #{path}"
103
103
  end
104
104
 
105
105
  case attributes[:strategy]
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.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Hu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-22 00:00:00.000000000 Z
11
+ date: 2024-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport