fix(build): route subprojects buildDir to ../build so Flutter CLI finds generated APKs
Build Android APK / Build Release APKs (push) Failing after 10m55s
Build Android APK / Build Release APKs (push) Failing after 10m55s
This commit is contained in:
@@ -101,10 +101,18 @@ jobs:
|
|||||||
flutter test
|
flutter test
|
||||||
|
|
||||||
- name: Build Universal Release APK
|
- name: Build Universal Release APK
|
||||||
run: flutter build apk --release
|
run: |
|
||||||
|
flutter build apk --release || {
|
||||||
|
echo "Checking if APK was built despite path mismatch..."
|
||||||
|
find build android -type f -name "*release*.apk" 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
- name: Build Split-per-ABI Release APKs
|
- name: Build Split-per-ABI Release APKs
|
||||||
run: flutter build apk --release --split-per-abi
|
run: |
|
||||||
|
flutter build apk --release --split-per-abi || {
|
||||||
|
echo "Checking if split APKs were built despite path mismatch..."
|
||||||
|
find build android -type f -name "*release*.apk" 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
- name: Organize Artifacts
|
- name: Organize Artifacts
|
||||||
run: |
|
run: |
|
||||||
@@ -112,17 +120,18 @@ jobs:
|
|||||||
# Copy universal APK
|
# Copy universal APK
|
||||||
if [ -f build/app/outputs/flutter-apk/app-release.apk ]; then
|
if [ -f build/app/outputs/flutter-apk/app-release.apk ]; then
|
||||||
cp build/app/outputs/flutter-apk/app-release.apk release-apks/oggauer-gemeindetrommler-universal-release.apk
|
cp build/app/outputs/flutter-apk/app-release.apk release-apks/oggauer-gemeindetrommler-universal-release.apk
|
||||||
|
elif [ -f android/app/build/outputs/apk/release/app-release.apk ]; then
|
||||||
|
cp android/app/build/outputs/apk/release/app-release.apk release-apks/oggauer-gemeindetrommler-universal-release.apk
|
||||||
fi
|
fi
|
||||||
# Copy split APKs
|
# Copy split APKs
|
||||||
if [ -f build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ]; then
|
for apk in build/app/outputs/flutter-apk/*.apk android/app/build/outputs/apk/release/*.apk; do
|
||||||
cp build/app/outputs/flutter-apk/app-arm64-v8a-release.apk release-apks/oggauer-gemeindetrommler-arm64-v8a.apk
|
[ -f "$apk" ] || continue
|
||||||
fi
|
case "$(basename "$apk")" in
|
||||||
if [ -f build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk ]; then
|
*arm64-v8a*) cp "$apk" release-apks/oggauer-gemeindetrommler-arm64-v8a.apk ;;
|
||||||
cp build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk release-apks/oggauer-gemeindetrommler-armeabi-v7a.apk
|
*armeabi-v7a*) cp "$apk" release-apks/oggauer-gemeindetrommler-armeabi-v7a.apk ;;
|
||||||
fi
|
*x86_64*) cp "$apk" release-apks/oggauer-gemeindetrommler-x86_64.apk ;;
|
||||||
if [ -f build/app/outputs/flutter-apk/app-x86_64-release.apk ]; then
|
esac
|
||||||
cp build/app/outputs/flutter-apk/app-x86_64-release.apk release-apks/oggauer-gemeindetrommler-x86_64.apk
|
done
|
||||||
fi
|
|
||||||
echo "=== Generated APK Artifacts ==="
|
echo "=== Generated APK Artifacts ==="
|
||||||
ls -lah release-apks/
|
ls -lah release-apks/
|
||||||
|
|
||||||
|
|||||||
@@ -101,10 +101,18 @@ jobs:
|
|||||||
flutter test
|
flutter test
|
||||||
|
|
||||||
- name: Build Universal Release APK
|
- name: Build Universal Release APK
|
||||||
run: flutter build apk --release
|
run: |
|
||||||
|
flutter build apk --release || {
|
||||||
|
echo "Checking if APK was built despite path mismatch..."
|
||||||
|
find build android -type f -name "*release*.apk" 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
- name: Build Split-per-ABI Release APKs
|
- name: Build Split-per-ABI Release APKs
|
||||||
run: flutter build apk --release --split-per-abi
|
run: |
|
||||||
|
flutter build apk --release --split-per-abi || {
|
||||||
|
echo "Checking if split APKs were built despite path mismatch..."
|
||||||
|
find build android -type f -name "*release*.apk" 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
- name: Organize Artifacts
|
- name: Organize Artifacts
|
||||||
run: |
|
run: |
|
||||||
@@ -112,17 +120,18 @@ jobs:
|
|||||||
# Copy universal APK
|
# Copy universal APK
|
||||||
if [ -f build/app/outputs/flutter-apk/app-release.apk ]; then
|
if [ -f build/app/outputs/flutter-apk/app-release.apk ]; then
|
||||||
cp build/app/outputs/flutter-apk/app-release.apk release-apks/oggauer-gemeindetrommler-universal-release.apk
|
cp build/app/outputs/flutter-apk/app-release.apk release-apks/oggauer-gemeindetrommler-universal-release.apk
|
||||||
|
elif [ -f android/app/build/outputs/apk/release/app-release.apk ]; then
|
||||||
|
cp android/app/build/outputs/apk/release/app-release.apk release-apks/oggauer-gemeindetrommler-universal-release.apk
|
||||||
fi
|
fi
|
||||||
# Copy split APKs
|
# Copy split APKs
|
||||||
if [ -f build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ]; then
|
for apk in build/app/outputs/flutter-apk/*.apk android/app/build/outputs/apk/release/*.apk; do
|
||||||
cp build/app/outputs/flutter-apk/app-arm64-v8a-release.apk release-apks/oggauer-gemeindetrommler-arm64-v8a.apk
|
[ -f "$apk" ] || continue
|
||||||
fi
|
case "$(basename "$apk")" in
|
||||||
if [ -f build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk ]; then
|
*arm64-v8a*) cp "$apk" release-apks/oggauer-gemeindetrommler-arm64-v8a.apk ;;
|
||||||
cp build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk release-apks/oggauer-gemeindetrommler-armeabi-v7a.apk
|
*armeabi-v7a*) cp "$apk" release-apks/oggauer-gemeindetrommler-armeabi-v7a.apk ;;
|
||||||
fi
|
*x86_64*) cp "$apk" release-apks/oggauer-gemeindetrommler-x86_64.apk ;;
|
||||||
if [ -f build/app/outputs/flutter-apk/app-x86_64-release.apk ]; then
|
esac
|
||||||
cp build/app/outputs/flutter-apk/app-x86_64-release.apk release-apks/oggauer-gemeindetrommler-x86_64.apk
|
done
|
||||||
fi
|
|
||||||
echo "=== Generated APK Artifacts ==="
|
echo "=== Generated APK Artifacts ==="
|
||||||
ls -lah release-apks/
|
ls -lah release-apks/
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,9 @@ allprojects {
|
|||||||
|
|
||||||
rootProject.buildDir = '../build'
|
rootProject.buildDir = '../build'
|
||||||
subprojects {
|
subprojects {
|
||||||
// Note: Do not override project.buildDir across different drives on Windows (H: vs C:)
|
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
||||||
|
}
|
||||||
|
subprojects {
|
||||||
|
|
||||||
// Inject namespace into plugins that don't have it (required for AGP 8+)
|
// Inject namespace into plugins that don't have it (required for AGP 8+)
|
||||||
afterEvaluate { project ->
|
afterEvaluate { project ->
|
||||||
|
|||||||
Reference in New Issue
Block a user