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
4 weeks 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