mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-12 00:40:28 +00:00
fix: Improve artifact handling by removing old files and selecting the latest builds
This commit is contained in:
35
.github/workflows/build-multiplatform.yml
vendored
35
.github/workflows/build-multiplatform.yml
vendored
@@ -556,6 +556,7 @@ jobs:
|
|||||||
# For main branch, also prepare the 'latest' directory
|
# For main branch, also prepare the 'latest' directory
|
||||||
if [ "${{ steps.metadata.outputs.branch_name }}" == "main" ]; then
|
if [ "${{ steps.metadata.outputs.branch_name }}" == "main" ]; then
|
||||||
mkdir -p r2-upload/unstable/latest
|
mkdir -p r2-upload/unstable/latest
|
||||||
|
rm -f r2-upload/unstable/latest/* 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Helper function to find and copy artifact
|
# Helper function to find and copy artifact
|
||||||
@@ -674,6 +675,12 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Grab the newest file matching a glob, ignoring older runs hanging around.
|
||||||
|
get_latest_file() {
|
||||||
|
local pattern="$1"
|
||||||
|
ls -1t "$BUILD_DIR"/$pattern 2>/dev/null | head -n 1
|
||||||
|
}
|
||||||
|
|
||||||
# Generate download links HTML
|
# Generate download links HTML
|
||||||
cat > "$BUILD_DIR/index.html" <<'HTMLEOF'
|
cat > "$BUILD_DIR/index.html" <<'HTMLEOF'
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
@@ -929,9 +936,10 @@ jobs:
|
|||||||
HTMLEOF
|
HTMLEOF
|
||||||
|
|
||||||
# Add Android APK if exists
|
# Add Android APK if exists
|
||||||
if [ -f "$BUILD_DIR"/*.apk ]; then
|
APK_PATH=$(get_latest_file "*.apk")
|
||||||
APK_FILE=$(basename "$BUILD_DIR"/*.apk)
|
if [ -n "$APK_PATH" ]; then
|
||||||
APK_SIZE=$(get_size "$BUILD_DIR/$APK_FILE")
|
APK_FILE=$(basename "$APK_PATH")
|
||||||
|
APK_SIZE=$(get_size "$APK_PATH")
|
||||||
cat >> "$BUILD_DIR/index.html" <<HTMLEOF
|
cat >> "$BUILD_DIR/index.html" <<HTMLEOF
|
||||||
<div class="download-card">
|
<div class="download-card">
|
||||||
<div class="download-info">
|
<div class="download-info">
|
||||||
@@ -948,9 +956,10 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Add Android AAB if exists
|
# Add Android AAB if exists
|
||||||
if [ -f "$BUILD_DIR"/*.aab ]; then
|
AAB_PATH=$(get_latest_file "*.aab")
|
||||||
AAB_FILE=$(basename "$BUILD_DIR"/*.aab)
|
if [ -n "$AAB_PATH" ]; then
|
||||||
AAB_SIZE=$(get_size "$BUILD_DIR/$AAB_FILE")
|
AAB_FILE=$(basename "$AAB_PATH")
|
||||||
|
AAB_SIZE=$(get_size "$AAB_PATH")
|
||||||
cat >> "$BUILD_DIR/index.html" <<HTMLEOF
|
cat >> "$BUILD_DIR/index.html" <<HTMLEOF
|
||||||
<div class="download-card">
|
<div class="download-card">
|
||||||
<div class="download-info">
|
<div class="download-info">
|
||||||
@@ -967,9 +976,10 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Add macOS DMG if exists
|
# Add macOS DMG if exists
|
||||||
if [ -f "$BUILD_DIR"/*.dmg ]; then
|
DMG_PATH=$(get_latest_file "*.dmg")
|
||||||
DMG_FILE=$(basename "$BUILD_DIR"/*.dmg)
|
if [ -n "$DMG_PATH" ]; then
|
||||||
DMG_SIZE=$(get_size "$BUILD_DIR/$DMG_FILE")
|
DMG_FILE=$(basename "$DMG_PATH")
|
||||||
|
DMG_SIZE=$(get_size "$DMG_PATH")
|
||||||
cat >> "$BUILD_DIR/index.html" <<HTMLEOF
|
cat >> "$BUILD_DIR/index.html" <<HTMLEOF
|
||||||
<div class="download-card">
|
<div class="download-card">
|
||||||
<div class="download-info">
|
<div class="download-info">
|
||||||
@@ -986,9 +996,10 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Add Windows ZIP if exists
|
# Add Windows ZIP if exists
|
||||||
if [ -f "$BUILD_DIR"/*-windows.zip ]; then
|
WIN_PATH=$(get_latest_file "*-windows.zip")
|
||||||
WIN_FILE=$(basename "$BUILD_DIR"/*-windows.zip)
|
if [ -n "$WIN_PATH" ]; then
|
||||||
WIN_SIZE=$(get_size "$BUILD_DIR/$WIN_FILE")
|
WIN_FILE=$(basename "$WIN_PATH")
|
||||||
|
WIN_SIZE=$(get_size "$WIN_PATH")
|
||||||
cat >> "$BUILD_DIR/index.html" <<HTMLEOF
|
cat >> "$BUILD_DIR/index.html" <<HTMLEOF
|
||||||
<div class="download-card">
|
<div class="download-card">
|
||||||
<div class="download-info">
|
<div class="download-info">
|
||||||
|
|||||||
Reference in New Issue
Block a user