build-labels 0.0.75 → 0.0.76
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 +4 -4
- data/bin/install-docker-static +105 -12
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 184e1d17e16a503f83dab878c391b8e8571c2ac71285ef697cebb75936dd556c
|
|
4
|
+
data.tar.gz: 4e9c5be493bbfda785871547691f8aa6110842917aa8277056bc671be6dd834b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ad03e9efa477f1772d0c62e293f7775087620c53ab126eff6d833332f4a4d4cc1eef606968cf4035bac9fd2d1d56dfc2e820ed131961bdf2cac62194daca5d23
|
|
7
|
+
data.tar.gz: 05da2dd8fec543a246af8aaf0cca3f6b6450d68fecc0d87703d310c6e5aeedc8a5aa719d5c666c03ba715581b3b075d228e0dce8d9fe288bf21458ed8d0b6d04
|
data/bin/install-docker-static
CHANGED
|
@@ -6,6 +6,74 @@ exec "sh", "-eux", "-c", shell, "sh", *ARGV
|
|
|
6
6
|
__END__
|
|
7
7
|
set -eux
|
|
8
8
|
|
|
9
|
+
docker_major=""
|
|
10
|
+
docker_version_prefix=""
|
|
11
|
+
|
|
12
|
+
usage() {
|
|
13
|
+
cat <<'USAGE'
|
|
14
|
+
Usage: install-docker-static [VERSION_PREFIX] [--docker-major N]
|
|
15
|
+
|
|
16
|
+
Options:
|
|
17
|
+
VERSION_PREFIX Install latest Docker version matching prefix
|
|
18
|
+
(e.g., 28, 28.5, 28.5.2)
|
|
19
|
+
-m, --major, --docker-major N Install latest Docker version within major N
|
|
20
|
+
-h, --help Show this help
|
|
21
|
+
USAGE
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
parse_args() {
|
|
25
|
+
while [ "$#" -gt 0 ]; do
|
|
26
|
+
case "$1" in
|
|
27
|
+
-m|--major|--docker-major)
|
|
28
|
+
if [ -z "${2:-}" ]; then
|
|
29
|
+
echo "Missing value for $1" >&2
|
|
30
|
+
usage
|
|
31
|
+
exit 1
|
|
32
|
+
fi
|
|
33
|
+
docker_major="$2"
|
|
34
|
+
shift 2
|
|
35
|
+
;;
|
|
36
|
+
-h|--help)
|
|
37
|
+
usage
|
|
38
|
+
exit 0
|
|
39
|
+
;;
|
|
40
|
+
*)
|
|
41
|
+
if [ -z "$docker_version_prefix" ]; then
|
|
42
|
+
docker_version_prefix="$1"
|
|
43
|
+
shift
|
|
44
|
+
else
|
|
45
|
+
echo "Unexpected argument: $1" >&2
|
|
46
|
+
usage
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
;;
|
|
50
|
+
esac
|
|
51
|
+
done
|
|
52
|
+
|
|
53
|
+
if [ -n "$docker_version_prefix" ] && [ -n "$docker_major" ]; then
|
|
54
|
+
echo "Specify either VERSION_PREFIX or --docker-major, not both." >&2
|
|
55
|
+
exit 1
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
if [ -n "$docker_major" ]; then
|
|
59
|
+
case "$docker_major" in
|
|
60
|
+
*[!0-9]*)
|
|
61
|
+
echo "Invalid major version: $docker_major" >&2
|
|
62
|
+
exit 1
|
|
63
|
+
;;
|
|
64
|
+
esac
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
if [ -n "$docker_version_prefix" ]; then
|
|
68
|
+
case "$docker_version_prefix" in
|
|
69
|
+
*[!0-9.]*|*.*.*.*)
|
|
70
|
+
echo "Invalid version prefix: $docker_version_prefix" >&2
|
|
71
|
+
exit 1
|
|
72
|
+
;;
|
|
73
|
+
esac
|
|
74
|
+
fi
|
|
75
|
+
}
|
|
76
|
+
|
|
9
77
|
detect_arch() {
|
|
10
78
|
arch="$(uname -m)"
|
|
11
79
|
case "$arch" in
|
|
@@ -40,16 +108,19 @@ detect_arch() {
|
|
|
40
108
|
esac
|
|
41
109
|
}
|
|
42
110
|
|
|
43
|
-
# Dockerfile:
|
|
44
|
-
#FROM ruby:3.4.4-slim-bookworm AS base
|
|
45
|
-
#FROM ruby:3.2.10-alpine AS base
|
|
46
|
-
|
|
47
|
-
#RUN install-docker-static
|
|
111
|
+
# Dockerfile example:
|
|
112
|
+
# # FROM ruby:3.4.4-slim-bookworm AS base
|
|
113
|
+
# FROM ruby:3.2.10-alpine AS base
|
|
114
|
+
# # RUN gem install build-labels:0.0.71
|
|
115
|
+
# RUN install-docker-static
|
|
116
|
+
# # Or pin to latest Docker within a major (or prefix):
|
|
117
|
+
# # RUN install-docker-static 28
|
|
118
|
+
# # RUN install-docker-static 28.5
|
|
48
119
|
#
|
|
49
|
-
#RUN docker -v
|
|
50
|
-
|
|
120
|
+
# RUN docker -v
|
|
121
|
+
# # docker build --network=host --progress=plain .
|
|
51
122
|
|
|
52
|
-
# TODO:
|
|
123
|
+
# TODO: look for simpler script
|
|
53
124
|
# RUN apk add --no-cache ca-certificates curl tar \
|
|
54
125
|
# && arch="$(uname -m)" \
|
|
55
126
|
# && case "$arch" in x86_64|amd64) a=x86_64;; aarch64|arm64) a=aarch64;; *) exit 1;; esac \
|
|
@@ -62,14 +133,34 @@ detect_arch() {
|
|
|
62
133
|
install_docker_static() {
|
|
63
134
|
detect_arch
|
|
64
135
|
base_url="https://download.docker.com/linux/static/stable/$docker_arch/"
|
|
65
|
-
|
|
136
|
+
versions="$(
|
|
66
137
|
curl -fsSL "$base_url" \
|
|
67
138
|
| sed -n 's/.*docker-\([0-9.][0-9.]*\)\.tgz.*/\1/p' \
|
|
68
|
-
| sort -t. -k1,1n -k2,2n -k3,3n -k4,4n
|
|
69
|
-
| tail -n 1
|
|
139
|
+
| sort -t. -k1,1n -k2,2n -k3,3n -k4,4n
|
|
70
140
|
)"
|
|
141
|
+
if [ -n "$docker_version_prefix" ]; then
|
|
142
|
+
latest_version="$(
|
|
143
|
+
printf '%s\n' "$versions" \
|
|
144
|
+
| awk -v p="$docker_version_prefix" 'index($0, p ".")==1 || $0==p' \
|
|
145
|
+
| tail -n 1
|
|
146
|
+
)"
|
|
147
|
+
elif [ -n "$docker_major" ]; then
|
|
148
|
+
latest_version="$(
|
|
149
|
+
printf '%s\n' "$versions" \
|
|
150
|
+
| awk -F. -v m="$docker_major" '$1==m' \
|
|
151
|
+
| tail -n 1
|
|
152
|
+
)"
|
|
153
|
+
else
|
|
154
|
+
latest_version="$(printf '%s\n' "$versions" | tail -n 1)"
|
|
155
|
+
fi
|
|
71
156
|
if [ -z "$latest_version" ]; then
|
|
72
|
-
|
|
157
|
+
if [ -n "$docker_version_prefix" ]; then
|
|
158
|
+
echo "Unable to determine latest Docker version matching $docker_version_prefix from $base_url" >&2
|
|
159
|
+
elif [ -n "$docker_major" ]; then
|
|
160
|
+
echo "Unable to determine latest Docker version for major $docker_major from $base_url" >&2
|
|
161
|
+
else
|
|
162
|
+
echo "Unable to determine latest Docker version from $base_url" >&2
|
|
163
|
+
fi
|
|
73
164
|
exit 1
|
|
74
165
|
fi
|
|
75
166
|
tmp_dir="$(mktemp -d)"
|
|
@@ -101,6 +192,8 @@ install_buildx() {
|
|
|
101
192
|
chmod 0755 "$plugin_dir/docker-buildx"
|
|
102
193
|
}
|
|
103
194
|
|
|
195
|
+
parse_args "$@"
|
|
196
|
+
|
|
104
197
|
if command -v apt-get >/dev/null 2>&1; then
|
|
105
198
|
apt-get update
|
|
106
199
|
apt-get install -y --no-install-recommends git ca-certificates curl tar
|
data/lib/version.rb
CHANGED
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.
|
|
4
|
+
version: 0.0.76
|
|
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-
|
|
11
|
+
date: 2026-01-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|