Files
ppsspp/.gitlab-ci.yml
T
Henrik RydgårdandClaude Opus 5.5 66dc8972e8 GitLab CI: Only run libretro pipelines for master, tags and manual runs
Every mirrored branch was triggering the full libretro build matrix and
tying up their shared runners. Requested by the libretro team.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-14 12:49:35 +02:00

186 lines
4.5 KiB
YAML

# DESCRIPTION: GitLab CI/CD for libRetro (NOT FOR GitLab-proper)
##############################################################################
################################# BOILERPLATE ################################
##############################################################################
# Core definitions
variables:
GIT_SUBMODULE_STRATEGY: recursive
# Only build master and tags on libretro's shared runners. Other branches can be built
# on demand with "Run pipeline" on git.libretro.com.
workflow:
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
- if: $CI_COMMIT_TAG
- if: $CI_PIPELINE_SOURCE == "web"
.core-defs:
variables:
CORENAME: ppsspp
CORE_ARGS: -DLIBRETRO=ON
.cmake-defs:
variables:
EXTRA_PATH: lib
.make-defs:
variables:
MAKEFILE_PATH: libretro
# Inclusion templates, required for the build to work
include:
################################## DESKTOPS ################################
# Windows 64bit
- project: 'libretro-infrastructure/ci-templates'
file: '/windows-x64-msvc19-msys2.yml'
# Windows 32bit
- project: 'libretro-infrastructure/ci-templates'
file: '/windows-i686-msvc19-msys2.yml'
# Linux
- project: 'libretro-infrastructure/ci-templates'
file: '/linux-cmake.yml'
# MacOS 64-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/osx-cmake-x86.yml'
# MacOS arm64
- project: 'libretro-infrastructure/ci-templates'
file: '/osx-cmake-arm64.yml'
################################## CELLULAR ################################
# Android
- project: 'libretro-infrastructure/ci-templates'
file: '/android-cmake.yml'
# iOS
- project: 'libretro-infrastructure/ci-templates'
file: '/ios-cmake.yml'
# tvOS
- project: 'libretro-infrastructure/ci-templates'
file: '/tvos-cmake.yml'
################################## CONSOLES ################################
#################################### MISC ##################################
# webOS (LGTV)
- project: 'libretro-infrastructure/ci-templates'
file: '/webos-cmake.yml'
# Stages for building
stages:
- build-prepare
- build-shared
##############################################################################
#################################### STAGES ##################################
##############################################################################
#
################################### DESKTOPS #################################
# Windows 64-bit
libretro-build-windows-x64:
extends:
- .libretro-windows-x64-msvc19-msys2-make-default
- .core-defs
- .make-defs
# Windows 32-bit
libretro-build-windows-i686:
extends:
- .libretro-windows-i686-msvc19-msys2-make-default
- .core-defs
- .make-defs
# Linux 64-bit
libretro-build-linux-x64:
extends:
- .libretro-linux-cmake-x86_64
- .core-defs
- .cmake-defs
# Linux 32-bit
libretro-build-linux-i686:
extends:
- .libretro-linux-cmake-x86
- .core-defs
- .cmake-defs
# Linux 64-bit (ARM)
libretro-build-linux-aarch64:
extends:
- .libretro-linux-cmake-aarch64
- .core-defs
- .cmake-defs
# MacOS 64-bit
libretro-build-osx-x64:
variables:
CORE_ARGS: -DLIBRETRO=ON -DUSE_SYSTEM_LIBPNG=OFF
extends:
- .libretro-osx-cmake-x86_64
- .core-defs
- .cmake-defs
# MacOS 64-bit
libretro-build-osx-arm64:
extends:
- .libretro-osx-cmake-arm64
- .core-defs
- .cmake-defs
################################### CELLULAR #################################
# Android ARMv7a
libretro-build-android-armeabi-v7a:
extends:
- .libretro-android-cmake-armeabi-v7a
- .core-defs
# Android ARMv8a
libretro-build-android-arm64-v8a:
extends:
- .libretro-android-cmake-arm64-v8a
- .core-defs
# Android 64-bit x86
libretro-build-android-x86_64:
extends:
- .libretro-android-cmake-x86_64
- .core-defs
# Android 32-bit x86
libretro-build-android-x86:
extends:
- .libretro-android-cmake-x86
- .core-defs
# iOS arm64
libretro-build-ios-arm64:
extends:
- .libretro-ios-cmake-arm64
- .core-defs
- .cmake-defs
variables:
CORE_ARGS: -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchains/ios.cmake -DLIBRETRO=ON
# tvOS arm64
libretro-build-tvos-arm64:
extends:
- .libretro-tvos-cmake-arm64
- .core-defs
- .cmake-defs
variables:
CORE_ARGS: -DIOS_PLATFORM=TVOS -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchains/ios.cmake -DLIBRETRO=ON
#################################### MISC ####################################
# webOS
libretro-build-webos-armv7a:
extends:
- .libretro-webos-armv7a-cmake
- .core-defs
- .cmake-defs