build-labels 0.0.77 → 0.0.79

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: ff8bfaab07b420e5cfb1fdd71acc794720dccd42ef67e2f1a86da73d1d3169f0
4
- data.tar.gz: 7e6c00b37c86a0872646b6eb27c11c61b9ceb7ab2ab2882f8cec5143731f7b24
3
+ metadata.gz: eab2ff4b6f31c2174bfd1febbc333d15a77ee0dee520c9890425a53b1b68d13a
4
+ data.tar.gz: c92078aa2fcaa417ffa8e12f9a0923c541b4922f6f17187245a066f5b401279a
5
5
  SHA512:
6
- metadata.gz: e9342314f68ae3342de7f970403025849be68078ee79f9d4a1f5c327c6406ea9877ab46181f30a7a13b0db3f7dacb8a3856e2bfa4916c55ab2067ed43e0166c3
7
- data.tar.gz: 0dbc416231bb2748d733d959ce01e7358d496ef271bbf9a64c7cef27b4687dd51cd5c30736a35ba8a6eb0ce7342de4cbcb75897f8db243baed225154c19824a9
6
+ metadata.gz: 370bddb89fe5dd3d97275e4722caefaa0d6f097dd28dc846e5ee29acffd9422a71d2c3f0b24642a0e3321f2c3b7e34c352d49de60ee698481a5ed37d45e4bd9f
7
+ data.tar.gz: 19f3f0758ef096f40511153f0c430db56b1d6806b4437da2b9f46e3a24ec39c390a7783dcafcba12e23c6bd379aed14b84c49d89e92c9c9d5a0de7f24bddcb67
@@ -9,6 +9,16 @@ set -eux
9
9
  docker_major=""
10
10
  docker_version_prefix=""
11
11
 
12
+ curl_fetch() {
13
+ curl -fsSL \
14
+ --retry "${CURL_RETRIES:-3}" \
15
+ --retry-delay "${CURL_RETRY_DELAY:-2}" \
16
+ --retry-all-errors \
17
+ --connect-timeout "${CURL_CONNECT_TIMEOUT:-10}" \
18
+ --max-time "${CURL_MAX_TIME:-120}" \
19
+ "$@"
20
+ }
21
+
12
22
  usage() {
13
23
  cat <<'USAGE'
14
24
  Usage: install-docker-static [VERSION_PREFIX] [--docker-major N]
@@ -80,26 +90,32 @@ detect_arch() {
80
90
  x86_64|amd64)
81
91
  docker_arch="x86_64"
82
92
  buildx_arch="amd64"
93
+ compose_arch="x86_64"
83
94
  ;;
84
95
  aarch64|arm64)
85
96
  docker_arch="aarch64"
86
97
  buildx_arch="arm64"
98
+ compose_arch="aarch64"
87
99
  ;;
88
100
  armv7l|armv7)
89
101
  docker_arch="armhf"
90
102
  buildx_arch="arm-v7"
103
+ compose_arch="armv7"
91
104
  ;;
92
105
  armv6l|armv6)
93
106
  docker_arch="armel"
94
107
  buildx_arch="arm-v6"
108
+ compose_arch="armv6"
95
109
  ;;
96
110
  ppc64le)
97
111
  docker_arch="ppc64le"
98
112
  buildx_arch="ppc64le"
113
+ compose_arch="ppc64le"
99
114
  ;;
100
115
  s390x)
101
116
  docker_arch="s390x"
102
117
  buildx_arch="s390x"
118
+ compose_arch="s390x"
103
119
  ;;
104
120
  *)
105
121
  echo "Unsupported architecture: $arch" >&2
@@ -134,7 +150,7 @@ install_docker_static() {
134
150
  detect_arch
135
151
  base_url="https://download.docker.com/linux/static/stable/$docker_arch/"
136
152
  versions="$(
137
- curl -fsSL "$base_url" \
153
+ curl_fetch "$base_url" \
138
154
  | sed -n 's/.*docker-\([0-9.][0-9.]*\)\.tgz.*/\1/p' \
139
155
  | sort -t. -k1,1n -k2,2n -k3,3n -k4,4n
140
156
  )"
@@ -164,7 +180,7 @@ install_docker_static() {
164
180
  exit 1
165
181
  fi
166
182
  tmp_dir="$(mktemp -d)"
167
- curl -fsSL "${base_url}docker-${latest_version}.tgz" -o "$tmp_dir/docker.tgz"
183
+ curl_fetch "${base_url}docker-${latest_version}.tgz" -o "$tmp_dir/docker.tgz"
168
184
  tar -xzf "$tmp_dir/docker.tgz" -C "$tmp_dir"
169
185
  install -m 0755 "$tmp_dir/docker/docker" /usr/local/bin/docker
170
186
  rm -rf "$tmp_dir"
@@ -175,7 +191,7 @@ install_buildx() {
175
191
  buildx_version="${BUILDX_VERSION:-}"
176
192
  if [ -z "$buildx_version" ]; then
177
193
  buildx_version="$(
178
- curl -fsSL https://api.github.com/repos/docker/buildx/releases/latest \
194
+ curl_fetch https://api.github.com/repos/docker/buildx/releases/latest \
179
195
  | sed -n 's/.*"tag_name": "\(v[0-9.]*\)".*/\1/p' \
180
196
  | head -n 1
181
197
  )"
@@ -186,12 +202,34 @@ install_buildx() {
186
202
  fi
187
203
  plugin_dir="/usr/local/lib/docker/cli-plugins"
188
204
  mkdir -p "$plugin_dir"
189
- curl -fsSL \
205
+ curl_fetch \
190
206
  -o "$plugin_dir/docker-buildx" \
191
207
  "https://github.com/docker/buildx/releases/download/${buildx_version}/buildx-${buildx_version}.linux-${buildx_arch}"
192
208
  chmod 0755 "$plugin_dir/docker-buildx"
193
209
  }
194
210
 
211
+ install_compose() {
212
+ detect_arch
213
+ compose_version="${COMPOSE_VERSION:-}"
214
+ if [ -z "$compose_version" ]; then
215
+ compose_version="$(
216
+ curl_fetch https://api.github.com/repos/docker/compose/releases/latest \
217
+ | sed -n 's/.*"tag_name": "\(v[0-9.]*\)".*/\1/p' \
218
+ | head -n 1
219
+ )"
220
+ fi
221
+ if [ -z "$compose_version" ]; then
222
+ echo "Unable to determine latest compose version" >&2
223
+ exit 1
224
+ fi
225
+ plugin_dir="/usr/local/lib/docker/cli-plugins"
226
+ mkdir -p "$plugin_dir"
227
+ curl_fetch \
228
+ -o "$plugin_dir/docker-compose" \
229
+ "https://github.com/docker/compose/releases/download/${compose_version}/docker-compose-linux-${compose_arch}"
230
+ chmod 0755 "$plugin_dir/docker-compose"
231
+ }
232
+
195
233
  parse_args "$@"
196
234
 
197
235
  if command -v apt-get >/dev/null 2>&1; then
@@ -199,14 +237,17 @@ if command -v apt-get >/dev/null 2>&1; then
199
237
  apt-get install -y --no-install-recommends git ca-certificates curl tar
200
238
  install_docker_static
201
239
  install_buildx
240
+ install_compose
202
241
  rm -rf /var/lib/apt/lists/*
203
242
  elif command -v apk >/dev/null 2>&1; then
204
243
  apk add --no-cache git ca-certificates curl tar
205
244
  install_docker_static
206
245
  install_buildx
246
+ install_compose
207
247
  else
208
248
  echo "Unsupported package manager: expected apt or apk." >&2
209
249
  exit 1
210
250
  fi
211
251
 
212
252
  docker -v
253
+ docker compose version
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module BuildLabels
2
2
  class Builder
3
- VERSION = '0.0.77'
3
+ VERSION = '0.0.79'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: build-labels
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.77
4
+ version: 0.0.79
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artyom B
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-01-28 00:00:00.000000000 Z
11
+ date: 2026-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake