From ca5605f4d29a52a9db77268860158aada89a79dc Mon Sep 17 00:00:00 2001 From: Pratik Canopas <109139581+cp-pratik-k@users.noreply.github.com> Date: Thu, 18 Jan 2024 12:02:41 +0530 Subject: [PATCH] Create build workflows (#7) * Implement workflow to test build apk * Implement workflow to test build apk * Fix android api build * Implement upload artifacts * Test artifacts * Implement upload artifacts * Fix keystore ingore --- .github/workflows/build.yml | 57 ++++++++++++++++++++++++++++++++++++ app/VERSION | 1 + app/android/.gitignore | 3 +- app/android/app/dev.jks | Bin 0 -> 2534 bytes 4 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 app/VERSION create mode 100644 app/android/app/dev.jks diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..e3b2247 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,57 @@ +name: Build + +on: push + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + name: Checkout + + - uses: subosito/flutter-action@v2.12.0 + name: Set up Flutter SDK + with: + channel: 'stable' + cache: true + + - name: Install dependencies + run: | + cd app + flutter clean + flutter pub get + + cd ../data + flutter clean + flutter pub get + + cd ../style + flutter clean + flutter pub get + + cd .. + + - name: Build android APK + run: | + cd app + file='VERSION' + fileData=$(cat $file) + IFS='.' + read -a versionValue <<< "$fileData" + buildNumber=$(( ${versionValue[0]} * 1000000 + ${versionValue[1]} * 10000 + CI_PIPELINE_IID )) + IFS='' + buildName="${versionValue[0]}.${versionValue[1]}.$CI_PIPELINE_IID" + + echo "Generating android build $buildName $buildNumber" + flutter build apk --release --build-number=$buildNumber --build-name=$buildName + mv build/app/outputs/apk/release/*.apk . + cd .. + + - name: Archive Artifacts + uses: actions/upload-artifact@v4 + with: + name: cloud-gallery.apk + path: app/*.apk + if-no-files-found: error + diff --git a/app/VERSION b/app/VERSION new file mode 100644 index 0000000..9f8e9b6 --- /dev/null +++ b/app/VERSION @@ -0,0 +1 @@ +1.0 \ No newline at end of file diff --git a/app/android/.gitignore b/app/android/.gitignore index 6f56801..b912b3f 100644 --- a/app/android/.gitignore +++ b/app/android/.gitignore @@ -9,5 +9,4 @@ GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app key.properties -**/*.keystore -**/*.jks + diff --git a/app/android/app/dev.jks b/app/android/app/dev.jks new file mode 100644 index 0000000000000000000000000000000000000000..c2a606f9e2c9720f2ead74652e8b03a5bec8628a GIT binary patch literal 2534 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 XGn>wM^u|zRV)dlgYYEQ(JJEjuO755% literal 0 HcmV?d00001