diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 244147103c69a7df04987f7a6395065fcf344d87..77543d5f4ba3852fa0a4fc15701e1f4864133a8d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,8 @@ image: cirrusci/flutter:latest stages: - test - update - - build + - build-debug + - build-release - deploy tests: @@ -19,8 +20,37 @@ update: - flutter packages upgrade interruptible: true -android:build: - stage: build +android:build-debug: + stage: build-debug + script: + # Flutter local configuration + - echo flutter.sdk=$FLUTTER_PATH > android/local.properties + - echo sdk.dir=$ANDROID_SDK_PATH >> android/local.properties + - echo flutter.buildMode=debug >> android/local.properties + # Android signing + - echo "$ANDROID_DEBUG_KEYSTORE_FILE" | base64 -d > android/app/my.keystore + - echo storeFile=my.keystore > android/key.properties + - echo storePassword=$ANDROID_DEBUG_KEYSTORE_PASSWORD >> android/key.properties + - echo keyAlias=$ANDROID_DEBUG_KEY_ALIAS >> android/key.properties + - echo keyPassword=$ANDROID_DEBUG_KEY_PASSWORD >> android/key.properties + # build flutter app + - flutter packages get + - flutter clean + - flutter build apk --debug + # prepare artifact + - find . -name "*.apk" # where is my apk? + artifacts: + paths: + - build/app/outputs/apk/debug + expire_in: 1 week + interruptible: true + +android:build-release: + stage: build-release + only: + - master + dependencies: + - android:build-debug script: # Flutter local configuration - echo flutter.sdk=$FLUTTER_PATH > android/local.properties @@ -33,10 +63,14 @@ android:build: - echo keyAlias=$ANDROID_KEY_ALIAS >> android/key.properties - echo keyPassword=$ANDROID_KEY_PASSWORD >> android/key.properties # build flutter app - - flutter build apk + - flutter packages get + - flutter clean + - flutter build apk --release + # prepare artifact + - find . -name "*.apk" # where is my apk? artifacts: paths: - - build/app/outputs/apk/release + - build/app/outputs/apk/release expire_in: 1 week interruptible: true @@ -45,6 +79,6 @@ android:deploy: only: - master dependencies: - - android:build + - android:build-release script: - wget ${REPOSITORY_UPDATE_WEBHOOK}?token=${REPOSITORY_TOKEN}