2024-03-22 20:22:53 +00:00
|
|
|
# SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2024-03-07 16:36:40 +00:00
|
|
|
stages:
|
2024-03-08 19:19:32 +00:00
|
|
|
- format
|
2024-03-08 19:26:40 +00:00
|
|
|
- build
|
2024-03-17 00:15:34 +00:00
|
|
|
|
|
|
|
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
|
2024-03-21 07:09:11 +00:00
|
|
|
# Use FASTZIP for faster compression in cache and artifacts (boolean)
|
2024-03-17 00:15:34 +00:00
|
|
|
# https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags
|
2024-03-21 07:09:11 +00:00
|
|
|
FF_USE_FASTZIP: 1
|
2024-03-17 00:15:34 +00:00
|
|
|
|
|
|
|
# Our Variables
|
|
|
|
CACHE_DIR: "$CI_PROJECT_DIR/ccache"
|
|
|
|
CCACHE_DIR: $CACHE_DIR
|
|
|
|
|
|
|
|
|
2024-03-14 21:35:22 +00:00
|
|
|
#CLANG FORMAT - CHECKS CODE FOR FORMATTING ISSUES
|
2024-03-08 19:26:40 +00:00
|
|
|
clang-format:
|
|
|
|
stage: format
|
2024-03-15 13:41:16 +00:00
|
|
|
image: suyuemu/cibuild:clangformat
|
2024-03-15 14:48:12 +00:00
|
|
|
#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
|
2024-03-08 19:26:40 +00:00
|
|
|
script:
|
2024-03-08 22:44:03 +00:00
|
|
|
- git submodule update --init --depth 1 --recursive
|
2024-03-08 19:26:40 +00:00
|
|
|
- bash .ci/scripts/format/script.sh
|
2024-03-15 19:55:53 +00:00
|
|
|
tags:
|
2024-03-15 21:11:45 +00:00
|
|
|
# - Linux
|
|
|
|
# - Windows
|
2024-03-15 19:55:53 +00:00
|
|
|
- Parallelized
|
2024-03-18 09:16:46 +00:00
|
|
|
- Format
|
2024-03-17 00:15:34 +00:00
|
|
|
|
2024-03-14 21:35:22 +00:00
|
|
|
#LINUX BUILD - BUILDS LINUX APPIMAGE
|
2024-03-07 16:36:40 +00:00
|
|
|
build-linux:
|
2024-03-07 00:05:52 +00:00
|
|
|
stage: build
|
2024-03-15 13:41:16 +00:00
|
|
|
image: suyuemu/cibuild:linux-x64
|
2024-03-07 16:36:40 +00:00
|
|
|
resource_group: linux-ci
|
2024-03-17 00:15:34 +00:00
|
|
|
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
|
2024-03-07 16:36:40 +00:00
|
|
|
variables:
|
2024-03-14 21:35:22 +00:00
|
|
|
GIT_SUBMODULE_STRATEGY: recursive
|
|
|
|
GIT_SUBMODULE_DEPTH: 1
|
|
|
|
RELEASE_NAME: mainline
|
2024-03-07 00:05:52 +00:00
|
|
|
script:
|
2024-03-07 16:36:40 +00:00
|
|
|
- bash .ci/scripts/linux/docker.sh
|
|
|
|
- bash .ci/scripts/linux/upload.sh
|
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- artifacts/*
|
2024-03-15 19:55:53 +00:00
|
|
|
tags:
|
|
|
|
- Linux
|
|
|
|
- Parallelized
|
2024-03-17 00:15:34 +00:00
|
|
|
|
2024-03-14 21:35:22 +00:00
|
|
|
#ANDROID BUILD - BUILDS APK
|
|
|
|
android:
|
|
|
|
stage: build
|
2024-03-15 13:41:16 +00:00
|
|
|
image: suyuemu/cibuild:android-x64
|
2024-03-14 21:35:22 +00:00
|
|
|
script:
|
|
|
|
- apt-get update -y
|
|
|
|
- git submodule update --init --recursive
|
2024-03-15 14:06:15 +00:00
|
|
|
- cd externals/vcpkg
|
|
|
|
- git fetch --unshallow || true
|
|
|
|
- cd ../..
|
2024-03-14 21:35:22 +00:00
|
|
|
- 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/*
|
2024-03-15 19:55:53 +00:00
|
|
|
tags:
|
2024-03-19 20:25:13 +00:00
|
|
|
- Android
|
2024-03-15 19:55:53 +00:00
|
|
|
- Parallelized
|
2024-03-17 00:15:34 +00:00
|
|
|
|