Skip to content

Commit 06475a0

Browse files
Seperated workflow processes into separate jobs.
1 parent 2da3822 commit 06475a0

File tree

1 file changed

+54
-3
lines changed

1 file changed

+54
-3
lines changed

.github/workflows/eas-android-build.yml

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ env:
1111

1212
jobs:
1313
build-android:
14-
name: Build Android App
14+
name: Build Android APK
1515
runs-on: ubuntu-latest
16+
outputs:
17+
build_id: ${{ steps.build.outputs.BUILD_ID }}
1618
steps:
1719
- name: Checkout repository
1820
uses: actions/checkout@v4
@@ -42,13 +44,22 @@ jobs:
4244
fi
4345
4446
echo "BUILD_ID=$BUILD_ID" >> $GITHUB_ENV
47+
echo "BUILD_ID=$BUILD_ID" >> $GITHUB_OUTPUT
4548
env:
4649
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
4750

51+
download-apk:
52+
name: Download APK
53+
runs-on: ubuntu-latest
54+
needs: build-android
55+
outputs:
56+
apk_path: ${{ steps.download.outputs.APK_PATH }}
57+
steps:
4858
- name: Wait for EAS Build to Complete
4959
run: |
60+
BUILD_ID=${{ needs.build-android.outputs.build_id }}
5061
RETRY_COUNT=0
51-
MAX_RETRIES=20
62+
MAX_RETRIES=50
5263
while [[ $RETRY_COUNT -lt $MAX_RETRIES ]]; do
5364
BUILD_STATUS_JSON=$(npx eas build:view --build-id $BUILD_ID --json 2>/dev/null)
5465
echo "Build status response: $BUILD_STATUS_JSON"
@@ -76,10 +87,28 @@ jobs:
7687
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
7788

7889
- name: Download APK
90+
id: download
7991
run: |
8092
echo "Downloading APK from: $APK_URL"
8193
curl -L $APK_URL -o app-release.apk
8294
ls -lh app-release.apk
95+
echo "APK_PATH=app-release.apk" >> $GITHUB_OUTPUT
96+
97+
- name: Upload APK as artifact
98+
uses: actions/upload-artifact@v4
99+
with:
100+
name: android-apk
101+
path: app-release.apk
102+
103+
generate-changelog:
104+
name: Generate Changelog
105+
runs-on: ubuntu-latest
106+
needs: build-android
107+
outputs:
108+
changelog: ${{ steps.changelog.outputs.CHANGELOG }}
109+
steps:
110+
- name: Checkout repository
111+
uses: actions/checkout@v4
83112

84113
- name: Generate Changelog
85114
id: changelog
@@ -92,13 +121,35 @@ jobs:
92121
echo "CHANGELOG<<EOF" >> $GITHUB_ENV
93122
cat changelog.txt >> $GITHUB_ENV
94123
echo "EOF" >> $GITHUB_ENV
124+
echo "CHANGELOG=$GITHUB_ENV" >> $GITHUB_OUTPUT
125+
126+
- name: Upload Changelog as artifact
127+
uses: actions/upload-artifact@v4
128+
with:
129+
name: changelog
130+
path: changelog.txt
131+
132+
create-release:
133+
name: Create GitHub Release
134+
runs-on: ubuntu-latest
135+
needs: [download-apk, generate-changelog]
136+
steps:
137+
- name: Download APK artifact
138+
uses: actions/download-artifact@v4
139+
with:
140+
name: android-apk
141+
142+
- name: Download Changelog artifact
143+
uses: actions/download-artifact@v4
144+
with:
145+
name: changelog
95146

96147
- name: Create GitHub Release
97148
uses: softprops/action-gh-release@v2
98149
with:
99150
tag_name: v1.0.${{ github.run_number }}
100151
name: Release v1.0.${{ github.run_number }}
101-
body: ${{ env.CHANGELOG }}
152+
body_path: changelog.txt
102153
draft: false
103154
prerelease: false
104155
files: app-release.apk

0 commit comments

Comments
 (0)