stages:
  - format
  - build
#CLANG FORMAT - CHECKS CODE FOR FORMATTING ISSUES
clang-format:
  stage: format
  image: suyuemu/cibuild:clangformat
  #THIS HAS TO BE FALSE. IT KEEPS RESOURCES AVAILABLE - EG RUNNERS WONT TRY BUILDING IF CODEBASE IS WRONG
  #MR's NEED TO BE CORRECTLY CLANG FORMATTED
  allow_failure: false
  script:
    - git submodule update --init --depth 1 --recursive
    - bash .ci/scripts/format/script.sh
  tags:
    - Linux
    - Windows
    - Parallelized
#LINUX BUILD - BUILDS LINUX APPIMAGE
build-linux:
  stage: build
  image: suyuemu/cibuild:linux-x64
  resource_group: linux-ci
  variables:
    GIT_SUBMODULE_STRATEGY: recursive
    GIT_SUBMODULE_DEPTH: 1
    RELEASE_NAME: mainline  
  script:
    - bash .ci/scripts/linux/docker.sh
    - bash .ci/scripts/linux/upload.sh
  artifacts:
    paths:
      - artifacts/*
  tags:
    - Linux
    - Parallelized
#ANDROID BUILD - BUILDS APK
android:
  stage: build
  image: suyuemu/cibuild:android-x64
  script:
    - apt-get update -y
    - git submodule update --init --recursive
    - cd externals/vcpkg
    - git fetch --unshallow || true
    - cd ../..
    - export ANDROID_HOME="/usr/lib/android-sdk/"
    - echo y | sdkmanager --sdk_root=/usr/lib/android-sdk --licenses
    - bash ./.ci/scripts/android/build.sh
    - bash ./.ci/scripts/android/upload.sh
  artifacts:
    paths:
      - artifacts/*
  tags:
    - Linux
    - Parallelized