all: sync with master
This commit is contained in:
@@ -2,8 +2,7 @@
|
||||
|
||||
verbose="${VERBOSE:-0}"
|
||||
|
||||
if [ "$verbose" -gt '0' ]
|
||||
then
|
||||
if [ "$verbose" -gt '0' ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
@@ -14,29 +13,27 @@ set -e -f -u
|
||||
#
|
||||
# TODO(a.garipov): Add to helpers.sh and use more actively in scripts.
|
||||
log() {
|
||||
if [ "$verbose" -gt '0' ]
|
||||
then
|
||||
if [ "$verbose" -gt '0' ]; then
|
||||
# Don't use quotes to get word splitting.
|
||||
echo "$1" 1>&2
|
||||
fi
|
||||
}
|
||||
|
||||
version="$( ./AdGuardHome_amd64 --version | cut -d ' ' -f 4 )"
|
||||
if [ "$version" = '' ]
|
||||
then
|
||||
version="$(./AdGuardHome_amd64 --version | cut -d ' ' -f 4)"
|
||||
if [ "$version" = '' ]; then
|
||||
log 'empty version from ./AdGuardHome_amd64'
|
||||
|
||||
exit 1
|
||||
fi
|
||||
readonly version
|
||||
|
||||
log "version '$version'"
|
||||
|
||||
for arch in\
|
||||
'i386'\
|
||||
'amd64'\
|
||||
'armhf'\
|
||||
'arm64'
|
||||
do
|
||||
for arch in \
|
||||
'amd64' \
|
||||
'arm64' \
|
||||
'armhf' \
|
||||
'i386'; do
|
||||
build_output="./AdGuardHome_${arch}"
|
||||
snap_output="./AdGuardHome_${arch}.snap"
|
||||
snap_dir="${snap_output}.dir"
|
||||
@@ -48,25 +45,22 @@ do
|
||||
cp -r './snap/gui' "${snap_dir}/meta/"
|
||||
|
||||
# Create a snap.yaml file, setting the values.
|
||||
sed\
|
||||
-e 's/%VERSION%/'"$version"'/'\
|
||||
-e 's/%ARCH%/'"$arch"'/'\
|
||||
./snap/snap.tmpl.yaml\
|
||||
> "${snap_dir}/meta/snap.yaml"
|
||||
sed \
|
||||
-e 's/%VERSION%/'"$version"'/' \
|
||||
-e 's/%ARCH%/'"$arch"'/' \
|
||||
./snap/snap.tmpl.yaml \
|
||||
>"${snap_dir}/meta/snap.yaml"
|
||||
|
||||
# TODO(a.garipov): The snapcraft tool will *always* write everything,
|
||||
# including errors, to stdout. And there doesn't seem to be a way to change
|
||||
# that. So, save the combined output, but only show it when snapcraft
|
||||
# actually fails.
|
||||
set +e
|
||||
snapcraft_output="$(
|
||||
snapcraft pack "$snap_dir" --output "$snap_output" 2>&1
|
||||
)"
|
||||
snapcraft_output="$(snapcraft pack "$snap_dir" --output "$snap_output" 2>&1)"
|
||||
snapcraft_exit_code="$?"
|
||||
set -e
|
||||
|
||||
if [ "$snapcraft_exit_code" -ne '0' ]
|
||||
then
|
||||
if [ "$snapcraft_exit_code" -ne '0' ]; then
|
||||
log "$snapcraft_output"
|
||||
exit "$snapcraft_exit_code"
|
||||
fi
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
|
||||
verbose="${VERBOSE:-0}"
|
||||
|
||||
if [ "$verbose" -gt '0' ]
|
||||
then
|
||||
if [ "$verbose" -gt '0' ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
@@ -12,18 +11,17 @@ set -e -f -u
|
||||
channel="${CHANNEL:?please set CHANNEL}"
|
||||
readonly channel
|
||||
|
||||
printf '%s %s\n'\
|
||||
'386' 'i386'\
|
||||
'amd64' 'amd64'\
|
||||
'armv7' 'armhf'\
|
||||
printf '%s %s\n' \
|
||||
'386' 'i386' \
|
||||
'amd64' 'amd64' \
|
||||
'armv7' 'armhf' \
|
||||
'arm64' 'arm64' \
|
||||
| while read -r arch snap_arch
|
||||
do
|
||||
release_url="https://static.adtidy.org/adguardhome/${channel}/AdGuardHome_linux_${arch}.tar.gz"
|
||||
output="./AdGuardHome_linux_${arch}.tar.gz"
|
||||
| while read -r arch snap_arch; do
|
||||
release_url="https://static.adtidy.org/adguardhome/${channel}/AdGuardHome_linux_${arch}.tar.gz"
|
||||
output="./AdGuardHome_linux_${arch}.tar.gz"
|
||||
|
||||
curl -o "$output" -v "$release_url"
|
||||
tar -f "$output" -v -x -z
|
||||
cp ./AdGuardHome/AdGuardHome "./AdGuardHome_${snap_arch}"
|
||||
rm -f -r "$output" ./AdGuardHome
|
||||
done
|
||||
curl -o "$output" -v "$release_url"
|
||||
tar -f "$output" -v -x -z
|
||||
cp ./AdGuardHome/AdGuardHome "./AdGuardHome_${snap_arch}"
|
||||
rm -f -r "$output" ./AdGuardHome
|
||||
done
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
|
||||
verbose="${VERBOSE:-0}"
|
||||
|
||||
if [ "$verbose" -gt '0' ]
|
||||
then
|
||||
if [ "$verbose" -gt '0' ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
@@ -12,8 +11,7 @@ set -e -f -u
|
||||
# Function log is an echo wrapper that writes to stderr if the caller requested
|
||||
# verbosity level greater than 0. Otherwise, it does nothing.
|
||||
log() {
|
||||
if [ "$verbose" -gt '0' ]
|
||||
then
|
||||
if [ "$verbose" -gt '0' ]; then
|
||||
# Don't use quotes to get word splitting.
|
||||
echo "$1" 1>&2
|
||||
fi
|
||||
@@ -21,8 +19,7 @@ log() {
|
||||
|
||||
# Do not set a new lowercase variable, because the snapcraft tool expects the
|
||||
# uppercase form.
|
||||
if [ "${SNAPCRAFT_STORE_CREDENTIALS:-}" = '' ]
|
||||
then
|
||||
if [ "${SNAPCRAFT_STORE_CREDENTIALS:-}" = '' ]; then
|
||||
log 'please set SNAPCRAFT_STORE_CREDENTIALS'
|
||||
|
||||
exit 1
|
||||
@@ -40,12 +37,11 @@ default_timeout='90s'
|
||||
kill_timeout='120s'
|
||||
readonly default_timeout kill_timeout
|
||||
|
||||
for arch in\
|
||||
'i386'\
|
||||
'amd64'\
|
||||
'armhf'\
|
||||
'arm64'
|
||||
do
|
||||
for arch in \
|
||||
'amd64' \
|
||||
'arm64' \
|
||||
'armhf' \
|
||||
'i386'; do
|
||||
snap_file="./AdGuardHome_${arch}.snap"
|
||||
|
||||
# Catch the exit code and the combined output to later inspect it.
|
||||
@@ -53,30 +49,28 @@ do
|
||||
snapcraft_output="$(
|
||||
# Use timeout(1) to force snapcraft to quit after a certain time. There
|
||||
# seems to be no environment variable or flag to force this behavior.
|
||||
timeout\
|
||||
--preserve-status\
|
||||
-k "$kill_timeout"\
|
||||
-v "$default_timeout"\
|
||||
"$snapcraft_cmd" upload\
|
||||
--release="${snapcraft_channel}"\
|
||||
--quiet\
|
||||
"${snap_file}"\
|
||||
timeout \
|
||||
--preserve-status \
|
||||
-k "$kill_timeout" \
|
||||
-v "$default_timeout" \
|
||||
"$snapcraft_cmd" upload \
|
||||
--release="${snapcraft_channel}" \
|
||||
--quiet \
|
||||
"${snap_file}" \
|
||||
2>&1
|
||||
)"
|
||||
snapcraft_exit_code="$?"
|
||||
set -e
|
||||
|
||||
if [ "$snapcraft_exit_code" -eq '0' ]
|
||||
then
|
||||
if [ "$snapcraft_exit_code" -eq '0' ]; then
|
||||
log "successful upload: ${snapcraft_output}"
|
||||
|
||||
continue
|
||||
fi
|
||||
|
||||
# Skip the ones that were failed by a duplicate upload error.
|
||||
case "$snapcraft_output"
|
||||
in
|
||||
(*'A file with this exact same content has already been uploaded'*|\
|
||||
case "$snapcraft_output" in
|
||||
*'A file with this exact same content has already been uploaded'* | \
|
||||
*'Error checking upload uniqueness'*)
|
||||
|
||||
log "warning: duplicate upload, skipping"
|
||||
@@ -84,7 +78,7 @@ do
|
||||
|
||||
continue
|
||||
;;
|
||||
(*)
|
||||
*)
|
||||
echo "unexpected snapcraft upload error: ${snapcraft_output}"
|
||||
|
||||
return "$snapcraft_exit_code"
|
||||
|
||||
Reference in New Issue
Block a user