create scripts

This commit is contained in:
Adam Velebil 2022-11-29 15:45:07 +01:00
parent 7a043cb8c3
commit b9fb86326e
No known key found for this signature in database
GPG Key ID: AC6D6B9D715FC084
4 changed files with 41 additions and 27 deletions

View File

@ -38,12 +38,8 @@ jobs:
flutter analyze flutter analyze
working-directory: ./app working-directory: ./app
- name: Generate Third party licenses
run: ./gradlew collectLicenses
working-directory: ./app/android
- name: Build the App - name: Build the App
run: flutter build apk --release --split-per-abi && flutter build apk --release run: android/scripts/build.sh
env: env:
YUBIOATH_STORE_BASE64: ${{ secrets.YUBIOATH_STORE_BASE64 }} YUBIOATH_STORE_BASE64: ${{ secrets.YUBIOATH_STORE_BASE64 }}
YUBIOATH_KEY_ALIAS: ${{ secrets.YUBIOATH_KEY_ALIAS }} YUBIOATH_KEY_ALIAS: ${{ secrets.YUBIOATH_KEY_ALIAS }}
@ -56,30 +52,11 @@ jobs:
working-directory: ./app working-directory: ./app
- name: Run android tests - name: Run android tests
run: | run: ./gradlew test
./gradlew test
working-directory: ./app/android working-directory: ./app/android
- name: Upload artifacts - name: Collect artifacts
run: | run: android/scripts/collect-artifacts.sh ${GITHUB_REF}
export REF=$(echo ${GITHUB_REF} | cut -d '/' -f 3,4,5,6,7 | sed -r 's/\//_/g')
export FLUTTER_APK=build/app/outputs/flutter-apk
export NATIVE_LIBS=build/app/intermediates/merged_native_libs/release/out/lib
mkdir artifacts
mv "${FLUTTER_APK}/app-arm64-v8a-release.apk" artifacts/yubico-authenticator-arm64-v8a-${REF}.apk
mv "${FLUTTER_APK}/app-armeabi-v7a-release.apk" artifacts/yubico-authenticator-armeabi-v7a-${REF}.apk
mv "${FLUTTER_APK}/app-x86_64-release.apk" artifacts/yubico-authenticator-x86_64-${REF}.apk
mv "${FLUTTER_APK}/app-release.apk" artifacts/yubico-authenticator-${REF}.apk
mv build/app/outputs/mapping/release/mapping.txt artifacts/
pushd "${NATIVE_LIBS}/"
zip -r sym-arm64-v8a.zip arm64-v8a/*so
zip -r sym-armeabi-v7a.zip armeabi-v7a/*so
zip -r sym-x86_64.zip x86_64/*so
popd
mv "${NATIVE_LIBS}/"*zip artifacts/
working-directory: ./app working-directory: ./app
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3

1
.gitignore vendored
View File

@ -44,3 +44,4 @@ app.*.map.json
/android/app/debug /android/app/debug
/android/app/profile /android/app/profile
/android/app/release /android/app/release
/artifacts/

10
android/scripts/build.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash -x
# Generate Third-party licenses
pushd android
./gradlew collectLicenses
popd
# Build flutter app
flutter build apk --release --split-per-abi
flutter build apk --release

View File

@ -0,0 +1,26 @@
#!/bin/bash -x
GITHUB_REF=`git branch --show-current`
if [ $# -gt 0 ] ; then
GITHUB_REF="$1"
fi
export REF=$(echo ${GITHUB_REF} | cut -d '/' -f 3,4,5,6,7 | sed -r 's/\//_/g')
export FLUTTER_APK=build/app/outputs/flutter-apk
export NATIVE_LIBS=build/app/intermediates/merged_native_libs/release/out/lib
rm -rf artifacts
mkdir artifacts
cp "${FLUTTER_APK}/app-arm64-v8a-release.apk" artifacts/yubico-authenticator-arm64-v8a-${REF}.apk
cp "${FLUTTER_APK}/app-armeabi-v7a-release.apk" artifacts/yubico-authenticator-armeabi-v7a-${REF}.apk
cp "${FLUTTER_APK}/app-x86_64-release.apk" artifacts/yubico-authenticator-x86_64-${REF}.apk
cp "${FLUTTER_APK}/app-release.apk" artifacts/yubico-authenticator-${REF}.apk
cp build/app/outputs/mapping/release/mapping.txt artifacts/
pushd "${NATIVE_LIBS}/"
zip -r sym-arm64-v8a.zip arm64-v8a/*so
zip -r sym-armeabi-v7a.zip armeabi-v7a/*so
zip -r sym-x86_64.zip x86_64/*so
popd
cp "${NATIVE_LIBS}/"*zip artifacts/