@@ -32,29 +32,55 @@ jobs:
32
32
- name : Start EAS Build
33
33
id : build
34
34
run : |
35
- BUILD_ID=$(npx eas build -p android --profile production --non-interactive --json | jq -r '.[0].id')
35
+ BUILD_JSON=$(npx eas build -p android --profile production --non-interactive --json)
36
+ echo "EAS build response: $BUILD_JSON"
37
+
38
+ BUILD_ID=$(echo "$BUILD_JSON" | jq -r '.[0].id' 2>/dev/null)
39
+ if [[ -z "$BUILD_ID" || "$BUILD_ID" == "null" ]]; then
40
+ echo "Error: Failed to retrieve BUILD_ID!"
41
+ exit 1
42
+ fi
43
+
36
44
echo "BUILD_ID=$BUILD_ID" >> $GITHUB_ENV
37
45
env :
38
46
EXPO_TOKEN : ${{ secrets.EXPO_TOKEN }}
39
47
40
48
- name : Wait for EAS Build to Complete
41
49
run : |
42
- while true; do
43
- STATUS=$(npx eas build:view --build-id $BUILD_ID --json | jq -r '.status')
44
- echo "Current Status: $STATUS"
45
- if [ "$STATUS" == "finished" ]; then
46
- DOWNLOAD_URL=$(npx eas build:view --build-id $BUILD_ID --json | jq -r '.artifacts.buildUrl')
47
- echo "APK_URL=$DOWNLOAD_URL" >> $GITHUB_ENV
50
+ RETRY_COUNT=0
51
+ MAX_RETRIES=20
52
+ while [[ $RETRY_COUNT -lt $MAX_RETRIES ]]; do
53
+ BUILD_STATUS_JSON=$(npx eas build:view --build-id $BUILD_ID --json 2>/dev/null)
54
+ echo "Build status response: $BUILD_STATUS_JSON"
55
+
56
+ BUILD_STATUS=$(echo "$BUILD_STATUS_JSON" | jq -r '.status' 2>/dev/null)
57
+ if [[ -z "$BUILD_STATUS" || "$BUILD_STATUS" == "null" ]]; then
58
+ echo "Error: Failed to fetch build status!"
59
+ exit 1
60
+ fi
61
+
62
+ echo "Current Status: $BUILD_STATUS"
63
+ if [[ "$BUILD_STATUS" == "finished" ]]; then
64
+ APK_URL=$(echo "$BUILD_STATUS_JSON" | jq -r '.artifacts.buildUrl' 2>/dev/null)
65
+ echo "APK_URL=$APK_URL" >> $GITHUB_ENV
48
66
break
49
- elif [ "$STATUS " == "errored" ]; then
67
+ elif [[ "$BUILD_STATUS " == "errored" ] ]; then
50
68
echo "EAS build failed."
51
69
exit 1
52
70
fi
71
+
72
+ RETRY_COUNT=$((RETRY_COUNT+1))
53
73
sleep 30
54
74
done
55
75
env :
56
76
EXPO_TOKEN : ${{ secrets.EXPO_TOKEN }}
57
77
78
+ - name : Download APK
79
+ run : |
80
+ echo "Downloading APK from: $APK_URL"
81
+ curl -L $APK_URL -o app-release.apk
82
+ ls -lh app-release.apk
83
+
58
84
- name : Generate Changelog
59
85
id : changelog
60
86
run : |
75
101
body : ${{ env.CHANGELOG }}
76
102
draft : false
77
103
prerelease : false
78
- files : ${{ env.APK_URL }}
104
+ files : app-release.apk
0 commit comments