stages:
  - lint
  - test
  - build
  - deploy

before_script:
  - flutter pub get
  - flutter clean

linting-code:
  stage: lint
  script:
    - flutter analyze --no-fatal-infos --no-fatal-warnings
  tags:
    - MacOS

unit-tests:
  stage: test
  script:
    - flutter test
  tags:
    - MacOS


build-android-debug:
  stage: build
  only:
    - branches
  script:
    - sh install_tflite.sh -d
    - flutter build appbundle --debug
    - flutter build appbundle --debug
  artifacts:
    name: android-debug
    paths:
      - build/app/outputs/bundle/debug/app-debug.aab
      - build/app/outputs/flutter-apk/app-release.apk
  tags:
    - MacOS


deploy-android-job:
  stage: deploy
  script:
    - echo "Deploying application..."
    - echo "Application successfully deployed. (JK gotta implement this sometime)"
  tags:
    - MacOS


#build-ios-debug:
#  stage: build
#  only:
#    - branches
#  script:
#    - sh install_tflite.sh -d
#    - flutter build ipa
##  artifacts:
##    name: ios-debug
##    paths:
##      - build/app/outputs/bundle/debug/app-debug.aab
##      - build/app/outputs/flutter-apk/app-release.apk
#  tags:
#    - MacOS
