fix: avoid release verification pipe failure
This commit is contained in:
@@ -141,8 +141,8 @@ preflight_status="$(curl -sS "${auth_args[@]}" -o /dev/null -w '%{http_code}' "$
|
|||||||
|
|
||||||
read_version() {
|
read_version() {
|
||||||
local code name
|
local code name
|
||||||
code="$(sed -nE 's/^[[:space:]]*versionCode = ([0-9]+).*$/\1/p' "$VERSION_FILE" | head -n 1)"
|
code="$(sed -nE 's/^[[:space:]]*versionCode = ([0-9]+).*$/\1/p' "$VERSION_FILE" | sed -n '1p')"
|
||||||
name="$(sed -nE 's/^[[:space:]]*versionName = "([^"]+)".*$/\1/p' "$VERSION_FILE" | head -n 1)"
|
name="$(sed -nE 's/^[[:space:]]*versionName = "([^"]+)".*$/\1/p' "$VERSION_FILE" | sed -n '1p')"
|
||||||
[[ "$code" =~ ^[0-9]+$ ]] || { echo "Nie można odczytać versionCode." >&2; return 1; }
|
[[ "$code" =~ ^[0-9]+$ ]] || { echo "Nie można odczytać versionCode." >&2; return 1; }
|
||||||
[[ "$name" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || { echo "versionName musi mieć format major.minor.patch." >&2; return 1; }
|
[[ "$name" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || { echo "versionName musi mieć format major.minor.patch." >&2; return 1; }
|
||||||
printf '%s %s\n' "$code" "$name"
|
printf '%s %s\n' "$code" "$name"
|
||||||
@@ -213,13 +213,13 @@ aab_source="$(find app/build/outputs/bundle/release -maxdepth 1 -type f -name '*
|
|||||||
|
|
||||||
sdk_dir="${ANDROID_HOME:-${ANDROID_SDK_ROOT:-}}"
|
sdk_dir="${ANDROID_HOME:-${ANDROID_SDK_ROOT:-}}"
|
||||||
if [[ -z "$sdk_dir" && -f local.properties ]]; then
|
if [[ -z "$sdk_dir" && -f local.properties ]]; then
|
||||||
sdk_dir="$(sed -n 's/^sdk.dir=//p' local.properties | head -n 1)"
|
sdk_dir="$(sed -n 's/^sdk.dir=//p' local.properties | sed -n '1p')"
|
||||||
fi
|
fi
|
||||||
apksigner="$(find "$sdk_dir/build-tools" -type f -name apksigner 2>/dev/null | sort -V | tail -n 1)"
|
apksigner="$(find "$sdk_dir/build-tools" -type f -name apksigner 2>/dev/null | sort -V | tail -n 1)"
|
||||||
aapt="$(find "$sdk_dir/build-tools" -type f -name aapt 2>/dev/null | sort -V | tail -n 1)"
|
aapt="$(find "$sdk_dir/build-tools" -type f -name aapt 2>/dev/null | sort -V | tail -n 1)"
|
||||||
[[ -x "$apksigner" && -x "$aapt" ]] || { echo "Nie znaleziono apksigner/aapt w Android SDK." >&2; exit 1; }
|
[[ -x "$apksigner" && -x "$aapt" ]] || { echo "Nie znaleziono apksigner/aapt w Android SDK." >&2; exit 1; }
|
||||||
"$apksigner" verify --verbose "$apk_source"
|
"$apksigner" verify --verbose "$apk_source"
|
||||||
apk_badging="$("$aapt" dump badging "$apk_source" | head -n 1)"
|
apk_badging="$("$aapt" dump badging "$apk_source" | sed -n '1p')"
|
||||||
[[ "$apk_badging" == *"versionCode='$next_code'"* && "$apk_badging" == *"versionName='$next_name'"* ]] || {
|
[[ "$apk_badging" == *"versionCode='$next_code'"* && "$apk_badging" == *"versionName='$next_name'"* ]] || {
|
||||||
echo "APK ma inny numer wersji niż oczekiwany $next_name ($next_code)." >&2
|
echo "APK ma inny numer wersji niż oczekiwany $next_name ($next_code)." >&2
|
||||||
exit 1
|
exit 1
|
||||||
@@ -258,7 +258,7 @@ if [[ -n "$NOTES_FILE" ]]; then
|
|||||||
[[ -f "$NOTES_FILE" ]] || { echo "Nie istnieje plik release notes: $NOTES_FILE" >&2; exit 1; }
|
[[ -f "$NOTES_FILE" ]] || { echo "Nie istnieje plik release notes: $NOTES_FILE" >&2; exit 1; }
|
||||||
release_notes="$(<"$NOTES_FILE")"
|
release_notes="$(<"$NOTES_FILE")"
|
||||||
else
|
else
|
||||||
previous_tag="$(git tag --sort=-version:refname | grep -Fxv "$tag_name" | head -n 1 || true)"
|
previous_tag="$(git tag --sort=-version:refname | grep -Fxv "$tag_name" | sed -n '1p' || true)"
|
||||||
if [[ -n "$previous_tag" ]]; then
|
if [[ -n "$previous_tag" ]]; then
|
||||||
changes="$(git log --format='- %s (%h)' "$previous_tag..HEAD")"
|
changes="$(git log --format='- %s (%h)' "$previous_tag..HEAD")"
|
||||||
else
|
else
|
||||||
@@ -309,7 +309,7 @@ upload_asset() {
|
|||||||
local assets_response existing_asset_id upload_response upload_status
|
local assets_response existing_asset_id upload_response upload_status
|
||||||
assets_response="$(mktemp)"
|
assets_response="$(mktemp)"
|
||||||
curl -fsS "${auth_args[@]}" -o "$assets_response" "$api_base/releases/$release_id/assets"
|
curl -fsS "${auth_args[@]}" -o "$assets_response" "$api_base/releases/$release_id/assets"
|
||||||
existing_asset_id="$(jq -r --arg name "$asset_name" '.[] | select(.name == $name) | .id' "$assets_response" | head -n 1)"
|
existing_asset_id="$(jq -r --arg name "$asset_name" '.[] | select(.name == $name) | .id' "$assets_response" | sed -n '1p')"
|
||||||
if [[ -n "$existing_asset_id" ]]; then
|
if [[ -n "$existing_asset_id" ]]; then
|
||||||
curl -fsS "${auth_args[@]}" -X DELETE "$api_base/releases/$release_id/assets/$existing_asset_id" >/dev/null
|
curl -fsS "${auth_args[@]}" -X DELETE "$api_base/releases/$release_id/assets/$existing_asset_id" >/dev/null
|
||||||
fi
|
fi
|
||||||
@@ -332,7 +332,7 @@ upload_asset "$artifact_dir/SHA256SUMS.txt" "SHA256SUMS.txt" "text/plain"
|
|||||||
|
|
||||||
assets_response="$(mktemp)"
|
assets_response="$(mktemp)"
|
||||||
curl -fsS "${auth_args[@]}" -o "$assets_response" "$api_base/releases/$release_id/assets"
|
curl -fsS "${auth_args[@]}" -o "$assets_response" "$api_base/releases/$release_id/assets"
|
||||||
published_apk_url="$(jq -r --arg name "$gitea_apk_name" '.[] | select(.name == $name) | .browser_download_url' "$assets_response" | head -n 1)"
|
published_apk_url="$(jq -r --arg name "$gitea_apk_name" '.[] | select(.name == $name) | .browser_download_url' "$assets_response" | sed -n '1p')"
|
||||||
[[ -n "$published_apk_url" && "$published_apk_url" != "null" ]] || {
|
[[ -n "$published_apk_url" && "$published_apk_url" != "null" ]] || {
|
||||||
echo "Nie znaleziono opublikowanego APK w Gitea Release." >&2
|
echo "Nie znaleziono opublikowanego APK w Gitea Release." >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in New Issue
Block a user