4 Commits
d16cdc1dc3
...
2c270d4720
Author | SHA1 | Message | Date |
---|---|---|---|
Valentin Lab | 2c270d4720 |
wip
|
1 month ago |
Valentin Lab | 4ed07c08ae |
new: [bitwarden,collabora,mongo,nextcloud,rocketchat] move ``upstream-versions`` to ``actions``
|
3 weeks ago |
Valentin Lab | a47e95c372 |
new: [bitwarden] new version ~1.32.3~
|
3 weeks ago |
Valentin Lab | 7878be3712 |
new: [nextcloud] add many default setup and maintenance required initialization instructions
|
4 weeks ago |
14 changed files with 280 additions and 138 deletions
-
41bitwarden/actions/upstream-versions
-
4bitwarden/metadata.yml
-
16collabora/actions/upstream-version-normalize
-
41collabora/actions/upstream-versions
-
49collabora/hooks/upstream-versions
-
42mongo/actions/upstream-versions
-
36mongo/hooks/upstream-versions
-
24nextcloud/actions/get-version
-
12nextcloud/actions/upgrade
-
41nextcloud/actions/upstream-versions
-
37nextcloud/hooks/upstream-versions
-
29nextcloud/lib/common
-
6nextcloud/metadata.yml
-
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,24 @@ |
|||
#!/bin/bash |
|||
# compose: no-hooks |
|||
|
|||
. $CHARM_PATH/lib/common |
|||
|
|||
|
|||
|
|||
|
|||
image_version=${DOCKER_BASE_IMAGE##*:} ## retrieve tag |
|||
image_version=${image_version%%-*} ## remove suffix |
|||
|
|||
version=$(nextcloud:config:version) || { |
|||
err "Failed to retrieve version" |
|||
exit 1 |
|||
} |
|||
|
|||
version=${version:-N/A} ## remove suffix |
|||
|
|||
msg=() |
|||
if [ "$version" != "$image_version" ]; then |
|||
msg+=("image version mismatch ($image_version)") |
|||
fi |
|||
|
|||
printf "%s\n" "$version" "${msg[@]}" |
@ -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