@@ -22,47 +22,26 @@ declare -A alpineVersion=(
22
22
)
23
23
24
24
for version in " ${versions[@]} " ; do
25
- rcGrepV=' -v'
26
- rcVersion=" ${version% -rc} "
27
- if [ " $rcVersion " != " $version " ]; then
28
- rcGrepV=
29
- fi
30
-
31
- fullVersion=" $(
32
- {
33
- curl -fsSL --compressed ' https://www.haproxy.org/download/' " $rcVersion " ' /src/'
34
- if [ " $rcVersion " != " $version " ]; then
35
- curl -fsSL --compressed ' https://www.haproxy.org/download/' " $rcVersion " ' /src/devel/'
36
- fi
37
- } \
38
- | grep -o ' <a href="haproxy-' " $rcVersion " ' [^"/]*\.tar\.gz"' \
39
- | sed -r ' s!^<a href="haproxy-([^"/]+)\.tar\.gz"$!\1!' \
40
- | grep $rcGrepV -E ' rc|dev' \
41
- | sort -V \
42
- | tail -1
25
+ export url=" https://www.haproxy.org/download/$version /src"
26
+ export debian=" ${debianSuite[$version]:- $defaultDebianSuite } "
27
+ export alpine=" ${alpineVersion[$version]:- $defaultAlpineVersion } "
28
+
29
+ doc=" $(
30
+ curl -fsSL " $url /releases.json" | jq -c '
31
+ { version: .latest_release } + .releases[.latest_release]
32
+ | {
33
+ version: .version,
34
+ url: (env.url + "/" + .file),
35
+ sha256: .sha256,
36
+ debian: env.debian,
37
+ alpine: env.alpine,
38
+ }
39
+ '
43
40
) "
44
- url=" https://www.haproxy.org/download/$rcVersion /src"
45
- if [[ " $fullVersion " == * dev* ]]; then
46
- url+=' /devel'
47
- fi
48
- url+=" /haproxy-$fullVersion .tar.gz"
49
- sha256=" $( curl -fsSL --compressed " $url .sha256" | cut -d' ' -f1) "
50
-
51
- echo " $version : $fullVersion ($sha256 , $url )"
52
-
53
- versionSuite=" ${debianSuite[$version]:- $defaultDebianSuite } "
54
- alpine=" ${alpineVersion[$version]:- $defaultAlpineVersion } "
55
41
56
- export version fullVersion sha256 url versionSuite alpine
57
- json=" $( jq <<< " $json" -c '
58
- .[env.version] = {
59
- version: env.fullVersion,
60
- sha256: env.sha256,
61
- url: env.url,
62
- debian: env.versionSuite,
63
- alpine: env.alpine,
64
- }
65
- ' ) "
42
+ export version
43
+ jq <<< " $doc" -r ' env.version + ": " + .version'
44
+ json=" $( jq <<< " $json" -c --argjson doc " $doc " ' .[env.version] = $doc' ) "
66
45
done
67
46
68
47
jq <<< " $json" -S . > versions.json
0 commit comments