mirror of https://git.suyu.dev/suyu/suyu
84 lines
2.0 KiB
YAML
84 lines
2.0 KiB
YAML
stages:
|
|
- format
|
|
- build
|
|
|
|
variables:
|
|
# https://docs.gitlab.com/ee/ci/runners/configure_runners.html
|
|
TRANSFER_METER_FREQUENCY: "2s"
|
|
ARTIFACT_COMPRESSION_LEVEL: "fast"
|
|
CACHE_COMPRESSION_LEVEL: "fastest"
|
|
CACHE_REQUEST_TIMEOUT: 5
|
|
# Use FASTZIP for faster compression in cache and artifacts (boolean)
|
|
# https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags
|
|
FF_USE_FASTZIP: 1
|
|
|
|
# Our Variables
|
|
CACHE_DIR: "$CI_PROJECT_DIR/ccache"
|
|
CCACHE_DIR: $CACHE_DIR
|
|
|
|
|
|
#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
|
|
- Format
|
|
|
|
#LINUX BUILD - BUILDS LINUX APPIMAGE
|
|
build-linux:
|
|
stage: build
|
|
image: suyuemu/cibuild:linux-x64
|
|
resource_group: linux-ci
|
|
cache:
|
|
key: "$CI_COMMIT_REF_NAME-ccache"
|
|
paths:
|
|
- $CACHE_DIR
|
|
before_script:
|
|
- mkdir -p $CACHE_DIR
|
|
- chmod -R 777 $CACHE_DIR
|
|
- ls -la $CACHE_DIR
|
|
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:
|
|
- Android
|
|
- Parallelized
|
|
|