Skip to content
Snippets Groups Projects
Select Git revision
  • 41c5ff6891e025cbe01a4d1b10da14f7b48eaca0
  • master default protected
  • 58-upgrade-framework-and-dependencies
  • 49-fix-end-game
  • 40-improve-app-metadata
  • 12-improve-layout
  • 4-add-animations
  • Release_0.9.0_46 protected
  • Release_0.8.2_45 protected
  • Release_0.8.1_44 protected
  • Release_0.8.0_43 protected
  • Release_0.7.0_42 protected
  • Release_0.6.0_41 protected
  • Release_0.5.0_40 protected
  • Release_0.4.2_39 protected
  • Release_0.4.1_38 protected
  • Release_0.4.0_37 protected
  • Release_0.3.1_36 protected
  • Release_0.3.0_35 protected
  • Release_0.2.1_34 protected
  • Release_0.2.0_33 protected
  • Release_0.1.2_32 protected
  • Release_0.1.1_31 protected
  • Release_0.1.0_30 protected
  • Release_0.0.29_29 protected
  • Release_0.0.28_28 protected
  • Release_0.0.27_27 protected
27 results

.gitlab-ci.yml

Blame
  • .gitlab-ci.yml 4.91 KiB
    image: ghcr.io/cirruslabs/flutter:latest
    
    stages:
      - build-debug
      - build-release
      - release
      - deploy
    
    android:build-debug:
      stage: build-debug
      except:
        - tags
        - master
      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
        - VERSION_NAME="$(grep '^version:' pubspec.yaml | cut -d' ' -f2 | cut -d'+' -f1)"
        - echo "${VERSION_NAME}"
        - VERSION_CODE="$(grep '^version:' pubspec.yaml | cut -d' ' -f2 | cut -d'+' -f2)"
        - echo "${VERSION_CODE}"
        - flutter packages get
        - flutter clean
        - flutter build apk --debug --split-per-abi
        - flutter build apk --debug
        # prepare artifact
        - BASE_APK_FOLDER="build/app/outputs/flutter-apk"
        - APP_NAME="$(grep 'namespace' android/app/build.gradle | cut -d'"' -f2)"
        - >
          if [ "$(find "${BASE_APK_FOLDER}" -name "*.apk")" != "" ]; then
            for APK in ${BASE_APK_FOLDER}/*.apk; do
              mv -v "${APK}" "$(echo "${APK}" | sed "s|\.apk|_${VERSION_CODE}.apk|" | sed "s|/app-|/${APP_NAME}-|")"
            done
          fi
        - find "${BASE_APK_FOLDER}" -name "*.apk" # where are my apk?
      artifacts:
        paths:
          - build/app/outputs/flutter-apk
        expire_in: 1 week
      interruptible: true
    
    android:build-release:
      stage: build-release
      only:
        - master
      except:
        - tags
      script:
        # Flutter local configuration
        - echo flutter.sdk=$FLUTTER_PATH > android/local.properties
        - echo sdk.dir=$ANDROID_SDK_PATH >> android/local.properties
        - echo flutter.buildMode=release >> android/local.properties
        # Android signing
        - echo "$ANDROID_KEYSTORE_FILE" | base64 -d > android/app/my.keystore
        - echo storeFile=my.keystore > android/key.properties
        - echo storePassword=$ANDROID_KEYSTORE_PASSWORD >> android/key.properties
        - echo keyAlias=$ANDROID_KEY_ALIAS >> android/key.properties
        - echo keyPassword=$ANDROID_KEY_PASSWORD >> android/key.properties
        # build flutter app
        - BASE_APK_FOLDER="build/app/outputs/flutter-apk"
        - echo "${BASE_APK_FOLDER}"
        - mkdir -p "${BASE_APK_FOLDER}"