Browse Source
new: [bitwarden,collabora,mongo,nextcloud,rocketchat] move ``upstream-versions`` to ``actions``
get-version
new: [bitwarden,collabora,mongo,nextcloud,rocketchat] move ``upstream-versions`` to ``actions``
get-version
Valentin Lab
2 months ago
9 changed files with 221 additions and 122 deletions
-
41bitwarden/actions/upstream-versions
-
16collabora/actions/upstream-version-normalize
-
41collabora/actions/upstream-versions
-
49collabora/hooks/upstream-versions
-
42mongo/actions/upstream-versions
-
36mongo/hooks/upstream-versions
-
41nextcloud/actions/upstream-versions
-
37nextcloud/hooks/upstream-versions
-
40rocketchat/actions/upstream-versions
@ -0,0 +1,41 @@ |
|||
#!/bin/bash |
|||
# compose: no-hooks |
|||
|
|||
## List upstream available versions in reverse chronological order |
|||
## |
|||
## These versions information will be the input for the version |
|||
## information usually used by the build process. |
|||
## |
|||
## A external query of upstream sources will be done. |
|||
## |
|||
## By default, limit should be 1 (the latest version) |
|||
|
|||
usage="$exname [-h|--help] [-l|--limit <limit>]" |
|||
|
|||
version_limit=5 |
|||
while [ "$1" ]; do |
|||
case "$1" in |
|||
"--help"|"-h") |
|||
print_usage |
|||
exit 0 |
|||
;; |
|||
"--limit"|"-l") |
|||
version_limit="$2" |
|||
shift |
|||
;; |
|||
*) |
|||
err "Unexpected argument '$1'." |
|||
exit 1 |
|||
;; |
|||
esac |
|||
shift |
|||
done |
|||
|
|||
set -e |
|||
|
|||
DOCKER_IMAGE_NAME=vaultwarden/server |
|||
|
|||
docker-tags-fetch "$DOCKER_IMAGE_NAME" -l "20" -f "^[0-9]+\.[0-9]+\.[0-9]+-alpine" | |
|||
sort -rV | |
|||
cut -f 1 -d "-" | |
|||
head -n "$version_limit" |
@ -0,0 +1,16 @@ |
|||
#!/bin/bash |
|||
# compose: no-hooks |
|||
|
|||
upstream_version="$1" |
|||
version="${upstream_version/./}" |
|||
read -r year_month major minor patch <<< ${version//./ } |
|||
if ! [ "${#patch}" == 1 ]; then |
|||
echo "Error: build number is not a single digit: '${patch}' (upstream: '${upstream_version}')" >&2 |
|||
exit 1 |
|||
fi |
|||
if [ "${#major}" -gt 2 ]; then |
|||
echo "Error: major number is more than 2 digits: '${major}' (upstream: '${upstream_version}')" >&2 |
|||
exit 1 |
|||
fi |
|||
major=$(printf "%02d" ${major}) |
|||
echo "${year_month}${major}.${minor}.${patch}" |
@ -0,0 +1,41 @@ |
|||
#!/bin/bash |
|||
# compose: no-hooks |
|||
|
|||
## List upstream available versions in reverse chronological order |
|||
## |
|||
## These versions information will be the input for the version |
|||
## information usually used by the build process. |
|||
## |
|||
## A external query of upstream sources will be done. |
|||
## |
|||
## By default, limit should be 1 (the latest version) |
|||
|
|||
usage="$exname [-h|--help] [-l|--limit <limit>]" |
|||
|
|||
version_limit=5 |
|||
while [ "$1" ]; do |
|||
case "$1" in |
|||
"--help"|"-h") |
|||
print_usage |
|||
exit 0 |
|||
;; |
|||
"--limit"|"-l") |
|||
version_limit="$2" |
|||
shift |
|||
;; |
|||
*) |
|||
err "Unexpected argument '$1'." |
|||
exit 1 |
|||
;; |
|||
esac |
|||
shift |
|||
done |
|||
|
|||
set -e |
|||
|
|||
DOCKER_IMAGE_NAME=collabora/code |
|||
|
|||
docker-tags-fetch "$DOCKER_IMAGE_NAME" -l "20" -f "^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | |
|||
sort -rV | |
|||
cut -f 1 -d "-" | |
|||
head -n "${version_limit}" |
@ -1,49 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
## List upstream available versions in reverse chronological order |
|||
## |
|||
## These versions information will be the input for the version information |
|||
## usually used by the build process. |
|||
## A external query of upstream sources will be done. |
|||
## |
|||
|
|||
## This script is launched by ``charm upstream-versions`` and will receive these env variables |
|||
## |
|||
## |
|||
## VERSION_LIMIT ## limit number of version to read |
|||
## |
|||
## |
|||
## The script CWD will be the root of the charm directory |
|||
## |
|||
|
|||
DOCKER_IMAGE_NAME=collabora/code |
|||
|
|||
semver:normalize() { |
|||
local upstream_version="$1" |
|||
local version="${upstream_version/./}" |
|||
read -r year_month major minor patch <<< ${version//./ } |
|||
if ! [ "${#patch}" == 1 ]; then |
|||
echo "Error: build number is not a single digit: '${patch}' (upstream: '${upstream_version}')" >&2 |
|||
return 1 |
|||
fi |
|||
if [ "${#major}" -gt 2 ]; then |
|||
echo "Error: major number is more than 2 digits: '${major}' (upstream: '${upstream_version}')" >&2 |
|||
return 1 |
|||
fi |
|||
major=$(printf "%02d" ${major}) |
|||
echo "${year_month}${major}.${minor}.${patch}" |
|||
} |
|||
|
|||
|
|||
upstream:list() { |
|||
local limit=${1:-5} |
|||
docker-tags-fetch "$DOCKER_IMAGE_NAME" -l "${limit}" -f "^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | |
|||
sort -rV | |
|||
cut -f 1 -d "-" |
|||
} |
|||
|
|||
|
|||
while read -r "upstream_version"; do |
|||
normalized_version=$(semver:normalize "${upstream_version}") || exit 1 |
|||
printf "%s %s\n" "$(semver:normalize "${upstream_version}")" "$upstream_version" |
|||
done < <(upstream:list "${VERSION_LIMIT}") |
@ -0,0 +1,42 @@ |
|||
#!/bin/bash |
|||
# compose: no-hooks |
|||
|
|||
## List upstream available versions in reverse chronological order |
|||
## |
|||
## These versions information will be the input for the version |
|||
## information usually used by the build process. |
|||
## |
|||
## A external query of upstream sources will be done. |
|||
## |
|||
## By default, limit should be 1 (the latest version) |
|||
|
|||
usage="$exname [-h|--help] [-l|--limit <limit>]" |
|||
|
|||
version_limit=5 |
|||
while [ "$1" ]; do |
|||
case "$1" in |
|||
"--help"|"-h") |
|||
print_usage |
|||
exit 0 |
|||
;; |
|||
"--limit"|"-l") |
|||
version_limit="$2" |
|||
shift |
|||
;; |
|||
*) |
|||
err "Unexpected argument '$1'." |
|||
exit 1 |
|||
;; |
|||
esac |
|||
shift |
|||
done |
|||
|
|||
set -e |
|||
set -o pipefail |
|||
|
|||
|
|||
DOCKER_IMAGE_NAME=mongo |
|||
|
|||
docker-tags-fetch "$DOCKER_IMAGE_NAME" -l "20" -f "^[0-9]+\.[0-9]+\.[0-9]+$" | |
|||
sort -rV | |
|||
head -n "$version_limit" |
@ -1,36 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
## List upstream available versions in reverse chronological order |
|||
## |
|||
## These versions information will be the input for the version information |
|||
## usually used by the build process. |
|||
## A external query of upstream sources will be done. |
|||
## |
|||
|
|||
## This script is launched by ``charm upstream-versions`` and will receive these env variables |
|||
## |
|||
## |
|||
## VERSION_LIMIT ## limit number of version to read |
|||
## |
|||
## |
|||
## The script CWD will be the root of the charm directory |
|||
## |
|||
|
|||
DOCKER_IMAGE_NAME=mongo |
|||
|
|||
semver:normalize() { |
|||
local upstream_version="$1" |
|||
echo "$upstream_version" |
|||
} |
|||
|
|||
|
|||
upstream:list() { |
|||
local limit=${1:-5} |
|||
docker-tags-fetch "$DOCKER_IMAGE_NAME" -l "${limit}" -f "^[0-9]+\.[0-9]+\.[0-9]+$" | |
|||
sort -rV |
|||
} |
|||
|
|||
|
|||
while read -r "upstream_version"; do |
|||
printf "%s %s\n" "$(semver:normalize "${upstream_version}")" "$upstream_version" |
|||
done < <(upstream:list "${VERSION_LIMIT}") |
@ -0,0 +1,41 @@ |
|||
#!/bin/bash |
|||
# compose: no-hooks |
|||
|
|||
## List upstream available versions in reverse chronological order |
|||
## |
|||
## These versions information will be the input for the version |
|||
## information usually used by the build process. |
|||
## |
|||
## A external query of upstream sources will be done. |
|||
## |
|||
## By default, limit should be 1 (the latest version) |
|||
|
|||
usage="$exname [-h|--help] [-l|--limit <limit>]" |
|||
|
|||
version_limit=5 |
|||
while [ "$1" ]; do |
|||
case "$1" in |
|||
"--help"|"-h") |
|||
print_usage |
|||
exit 0 |
|||
;; |
|||
"--limit"|"-l") |
|||
version_limit="$2" |
|||
shift |
|||
;; |
|||
*) |
|||
err "Unexpected argument '$1'." |
|||
exit 1 |
|||
;; |
|||
esac |
|||
shift |
|||
done |
|||
|
|||
set -e |
|||
|
|||
DOCKER_IMAGE_NAME=nextcloud |
|||
|
|||
docker-tags-fetch "$DOCKER_IMAGE_NAME" -l "20" -f "^[0-9]+\.[0-9]+\.[0-9]+-apache" | |
|||
sort -rV | |
|||
cut -f 1 -d "-" | |
|||
head -n "$version_limit" |
@ -1,37 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
## List upstream available versions in reverse chronological order |
|||
## |
|||
## These versions information will be the input for the version information |
|||
## usually used by the build process. |
|||
## A external query of upstream sources will be done. |
|||
## |
|||
|
|||
## This script is launched by ``charm upstream-versions`` and will receive these env variables |
|||
## |
|||
## |
|||
## VERSION_LIMIT ## limit number of version to read |
|||
## |
|||
## |
|||
## The script CWD will be the root of the charm directory |
|||
## |
|||
|
|||
DOCKER_IMAGE_NAME=nextcloud |
|||
|
|||
semver:normalize() { |
|||
local upstream_version="$1" |
|||
echo "$upstream_version" |
|||
} |
|||
|
|||
|
|||
upstream:list() { |
|||
local limit=${1:-5} |
|||
docker-tags-fetch "$DOCKER_IMAGE_NAME" -l "${limit}" -f "^[0-9]+\.[0-9]+\.[0-9]+-apache" | |
|||
sort -rV | |
|||
cut -f 1 -d "-" |
|||
} |
|||
|
|||
|
|||
while read -r "upstream_version"; do |
|||
printf "%s %s\n" "$(semver:normalize "${upstream_version}")" "$upstream_version" |
|||
done < <(upstream:list "${VERSION_LIMIT}") |
@ -0,0 +1,40 @@ |
|||
#!/bin/bash |
|||
# compose: no-hooks |
|||
|
|||
## List upstream available versions in reverse chronological order |
|||
## |
|||
## These versions information will be the input for the version |
|||
## information usually used by the build process. |
|||
## |
|||
## A external query of upstream sources will be done. |
|||
## |
|||
## By default, limit should be 1 (the latest version) |
|||
|
|||
usage="$exname [-h|--help] [-l|--limit <limit>]" |
|||
|
|||
version_limit=5 |
|||
while [ "$1" ]; do |
|||
case "$1" in |
|||
"--help"|"-h") |
|||
print_usage |
|||
exit 0 |
|||
;; |
|||
"--limit"|"-l") |
|||
version_limit="$2" |
|||
shift |
|||
;; |
|||
*) |
|||
err "Unexpected argument '$1'." |
|||
exit 1 |
|||
;; |
|||
esac |
|||
shift |
|||
done |
|||
|
|||
set -e |
|||
|
|||
DOCKER_IMAGE_NAME=rocketchat/rocket.chat |
|||
|
|||
docker-tags-fetch "$DOCKER_IMAGE_NAME" -l "20" -f "^[0-9]+\.[0-9]+\.[0-9]+$" | |
|||
sort -rV | |
|||
head -n "${version_limit}" |
Write
Preview
Loading…
Cancel
Save
Reference in new issue