refactor: enhance logging in autobuild workflow with emojis for better visibility
This commit is contained in:
39
.github/workflows/autobuild.yml
vendored
39
.github/workflows/autobuild.yml
vendored
@@ -36,56 +36,61 @@ jobs:
|
||||
fi
|
||||
|
||||
CURRENT_VERSION=$(cat package.json | jq -r '.version')
|
||||
echo "Current version: $CURRENT_VERSION"
|
||||
echo "📦 Current version: $CURRENT_VERSION"
|
||||
|
||||
git checkout HEAD~1 package.json
|
||||
PREVIOUS_VERSION=$(cat package.json | jq -r '.version')
|
||||
echo "Previous version: $PREVIOUS_VERSION"
|
||||
echo "📦 Previous version: $PREVIOUS_VERSION"
|
||||
|
||||
git checkout HEAD package.json
|
||||
|
||||
if [ "$CURRENT_VERSION" != "$PREVIOUS_VERSION" ]; then
|
||||
echo "Version changed from $PREVIOUS_VERSION to $CURRENT_VERSION"
|
||||
echo "✅ Version changed from $PREVIOUS_VERSION to $CURRENT_VERSION"
|
||||
echo "should_run=true" >> $GITHUB_OUTPUT
|
||||
exit 0
|
||||
fi
|
||||
|
||||
CURRENT_SRC_HASH=$(git rev-parse HEAD:src)
|
||||
PREVIOUS_SRC_HASH=$(git rev-parse HEAD~1:src 2>/dev/null || echo "")
|
||||
CURRENT_TAURI_HASH=$(git rev-parse HEAD:src-tauri 2>/dev/null || echo "")
|
||||
PREVIOUS_TAURI_HASH=$(git rev-parse HEAD~1:src-tauri 2>/dev/null || echo "")
|
||||
# 只检查 src 中的源码文件,排除构建产物和缓存
|
||||
CURRENT_SRC_HASH=$(git ls-tree -r HEAD -- src/ ':(exclude)src/dist' ':(exclude)src/build' ':(exclude)src/node_modules' ':(exclude)src/.next' ':(exclude)src/.cache' 2>/dev/null | git hash-object --stdin || echo "")
|
||||
PREVIOUS_SRC_HASH=$(git ls-tree -r HEAD~1 -- src/ ':(exclude)src/dist' ':(exclude)src/build' ':(exclude)src/node_modules' ':(exclude)src/.next' ':(exclude)src/.cache' 2>/dev/null | git hash-object --stdin || echo "")
|
||||
|
||||
echo "Current src hash: $CURRENT_SRC_HASH"
|
||||
echo "Previous src hash: $PREVIOUS_SRC_HASH"
|
||||
echo "Current tauri hash: $CURRENT_TAURI_HASH"
|
||||
echo "Previous tauri hash: $PREVIOUS_TAURI_HASH"
|
||||
# 只检查 src-tauri 中的源码文件,排除构建产物和缓存
|
||||
CURRENT_TAURI_HASH=$(git ls-tree -r HEAD -- src-tauri/src src-tauri/Cargo.toml src-tauri/Cargo.lock src-tauri/tauri.*.conf.json src-tauri/build.rs src-tauri/capabilities 2>/dev/null | git hash-object --stdin || echo "")
|
||||
PREVIOUS_TAURI_HASH=$(git ls-tree -r HEAD~1 -- src-tauri/src src-tauri/Cargo.toml src-tauri/Cargo.lock src-tauri/tauri.*.conf.json src-tauri/build.rs src-tauri/capabilities 2>/dev/null | git hash-object --stdin || echo "")
|
||||
|
||||
echo "📂 Current src source hash: $CURRENT_SRC_HASH"
|
||||
echo "📂 Previous src source hash: $PREVIOUS_SRC_HASH"
|
||||
echo "🦀 Current tauri source hash: $CURRENT_TAURI_HASH"
|
||||
echo "🦀 Previous tauri source hash: $PREVIOUS_TAURI_HASH"
|
||||
|
||||
if [ "$CURRENT_SRC_HASH" != "$PREVIOUS_SRC_HASH" ] || [ "$CURRENT_TAURI_HASH" != "$PREVIOUS_TAURI_HASH" ]; then
|
||||
echo "Source directories changed"
|
||||
echo "✅ Source directories changed"
|
||||
echo "should_run=true" >> $GITHUB_OUTPUT
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Check if current version already has assets in autobuild release
|
||||
CURRENT_COMMIT=$(git rev-parse --short HEAD)
|
||||
echo "Current commit: $CURRENT_COMMIT"
|
||||
echo "📝 Current commit: $CURRENT_COMMIT"
|
||||
|
||||
# Generate the version that would be created for autobuild
|
||||
CURRENT_BASE_VERSION=$(echo "$CURRENT_VERSION" | sed -E 's/-(alpha|beta|rc)(\.[0-9]+)?//g' | sed -E 's/\+[a-zA-Z0-9.-]+//g')
|
||||
MONTH=$(date +%m)
|
||||
DAY=$(date +%d)
|
||||
EXPECTED_VERSION="${CURRENT_BASE_VERSION}+autobuild.${MONTH}${DAY}.${CURRENT_COMMIT}"
|
||||
echo "Expected autobuild version: $EXPECTED_VERSION"
|
||||
echo "🏷️ Expected autobuild version: $EXPECTED_VERSION"
|
||||
|
||||
# Check if autobuild release exists and has assets for current version
|
||||
echo "🔍 Checking if autobuild assets already exist..."
|
||||
EXISTING_ASSETS=$(gh release view "${{ env.TAG_NAME }}" --json assets -q '.assets[].name' 2>/dev/null | grep -E "${EXPECTED_VERSION//+/\\+}" || true)
|
||||
|
||||
if [ -n "$EXISTING_ASSETS" ]; then
|
||||
echo "Autobuild assets already exist for version $EXPECTED_VERSION"
|
||||
echo "Existing assets: $EXISTING_ASSETS"
|
||||
echo "📦 Existing assets:"
|
||||
echo "$EXISTING_ASSETS"
|
||||
echo "❌ Autobuild assets already exist for version $EXPECTED_VERSION"
|
||||
echo "should_run=false" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "No autobuild assets found for version $EXPECTED_VERSION, build needed"
|
||||
echo "✅ No autobuild assets found for version $EXPECTED_VERSION, build needed"
|
||||
echo "should_run=true" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user