mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-28 10:40:39 +00:00
478 lines
15 KiB
YAML
478 lines
15 KiB
YAML
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:latest
|
|
|
|
stages:
|
|
- build-prepare
|
|
- build
|
|
- prepare-for-static-cores
|
|
- trigger-static-cores
|
|
|
|
build-retroarch-windows-x64:
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "./configure --host=x86_64-w64-mingw32"
|
|
- "make -j$NUMPROC"
|
|
- "mv retroarch retroarch.exe"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32-gcc build=release && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32-gcc build=release strip && cd -"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cd gfx/video_filters && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32-gcc build=release && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32-gcc build=release strip && cd -"
|
|
- "cp -f gfx/video_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f retroarch.cfg ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/retroarch.default.cfg"
|
|
- "echo -e '[Paths]\nPlugins = ./' > ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/qt.conf"
|
|
|
|
build-retroarch-linux-x64:
|
|
stage: build
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "./configure"
|
|
- "make -j$NUMPROC"
|
|
|
|
build-retroarch-dingux-mips32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch_rg350.opk
|
|
- ${MEDIA_PATH}
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.rg350"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-retroarch-android-normal:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- ./
|
|
exclude:
|
|
- .git/**/*
|
|
expire_in: 1 month
|
|
script:
|
|
- "cd pkg/android/phoenix"
|
|
- "./gradlew assembleNormalRelease"
|
|
|
|
build-retroarch-android-aarch64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- ./
|
|
exclude:
|
|
- .git/**/*
|
|
expire_in: 1 month
|
|
script:
|
|
- "cd pkg/android/phoenix"
|
|
- "./gradlew assembleAarch64Release"
|
|
|
|
build-retroarch-android-ra32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- ./
|
|
exclude:
|
|
- .git/**/*
|
|
expire_in: 1 month
|
|
script:
|
|
- "cd pkg/android/phoenix"
|
|
- "./gradlew assembleRa32Release"
|
|
|
|
build-retroarch-android-playstore-normal:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- ./
|
|
exclude:
|
|
- .git/**/*
|
|
expire_in: 1 month
|
|
script:
|
|
- "cd pkg/android/phoenix"
|
|
- "./gradlew bundlePlayStoreNormalRelease"
|
|
|
|
build-retroarch-android-playstore-aarch64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- ./
|
|
exclude:
|
|
- .git/**/*
|
|
expire_in: 1 month
|
|
script:
|
|
- "cd pkg/android/phoenix"
|
|
- "./gradlew bundlePlayStoreAarch64Release"
|
|
|
|
build-static-retroarch-libnx-aarch64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-libnx-devkitpro:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 1 day
|
|
dependencies: []
|
|
needs:
|
|
# Static dummy builds without a core so its a good check if it properly builds
|
|
- build-static-retroarch-dummy-libnx-aarch64
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.libnx -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-libnx-aarch64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-libnx-devkitpro:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch_switch.nro
|
|
- retroarch_switch.elf
|
|
- ${MEDIA_PATH}
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.libnx -j$NUMPROC HAVE_STATIC_DUMMY=1"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f pkg/libnx/retroarch.jpg ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-vita:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-vita:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 1 day
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-vita
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.vita -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-vita:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-vita:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- eboot.bin
|
|
- param.sfo
|
|
- ${MEDIA_PATH}
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.vita.salamander -j$NUMPROC"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -fr pkg/vita/* ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-ps2:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-ps2:latest
|
|
stage: prepare-for-static-cores
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 1 day
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-ps2
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
# PS2 makefile for now doesn't allow -jX so this is why is hardcoded to -j1
|
|
- "make -f Makefile.ps2 -j1 ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-ps2:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-ps2:latest
|
|
stage: build
|
|
before_script:
|
|
# PS2 doesn't allow to use -jX for now
|
|
- export NUMPROC=1
|
|
artifacts:
|
|
paths:
|
|
- raboot.elf
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.ps2.salamander -j$NUMPROC release"
|
|
|
|
build-static-retroarch-psp:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psp:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 1 day
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-psp
|
|
script:
|
|
# We need to boostrap before compile
|
|
- "(cd bootstrap/psp1/kernel_functions_prx/ && make && cd -)"
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.psp1 -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-psp:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psp:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- EBOOT.PBP
|
|
- kernel_functions.prx
|
|
- ${MEDIA_PATH}
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "(cd bootstrap/psp1/kernel_functions_prx/ && make && cd -)"
|
|
- "make -f Makefile.psp1.salamander -j$NUMPROC"
|
|
- "make -C bootstrap/psp1/kernel_functions_prx/"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f pkg/psp1/ICON0.PNG ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f pkg/psp1/PIC1.PNG ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-ctr:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 1 day
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-ctr
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.ctr -j$NUMPROC USE_CTRULIB_2=1 ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-ctr:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch_3ds.cia
|
|
- RetroArch.3dsx
|
|
- RetroArch.smdh
|
|
- ${MEDIA_PATH}
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.ctr.salamander -j$NUMPROC USE_CTRULIB_2=1"
|
|
- "mv -f retroarch_3ds_salamander.cia retroarch_3ds.cia"
|
|
- "mv -f retroarch_3ds_salamander.3dsx RetroArch.3dsx"
|
|
- "mv -f retroarch_3ds_salamander.smdh RetroArch.smdh"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-static-retroarch-wiiu:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 1 day
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-wiiu
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.wiiu -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-wiiu:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch.rpx
|
|
- ${MEDIA_PATH}
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.wiiu -j$NUMPROC SALAMANDER_BUILD=1"
|
|
- "mv -f retroarch_wiiu_salamander.rpx retroarch.rpx"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f pkg/wiiu/icon.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f pkg/wiiu/meta.xml ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-wii:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 1 day
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-wii
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.wii -j$NUMPROC EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-wii:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- boot.dol
|
|
- ${MEDIA_PATH}
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.wii.salamander -j$NUMPROC EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0"
|
|
- "mv -f retroarch-salamander_wii.dol boot.dol"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f pkg/wii/icon.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f pkg/wii/meta.xml ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-static-retroarch-ngc:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 1 day
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-ngc
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.ngc -j$NUMPROC EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-ngc:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- ${MEDIA_PATH}
|
|
expire_in: 1 month
|
|
dependencies: []
|
|
script:
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
trigger_static-cores:
|
|
stage: trigger-static-cores
|
|
needs:
|
|
- build-static-retroarch-libnx-aarch64
|
|
- build-static-retroarch-vita
|
|
- build-static-retroarch-ps2
|
|
- build-static-retroarch-psp
|
|
- build-static-retroarch-ctr
|
|
- build-static-retroarch-wiiu
|
|
- build-static-retroarch-wii
|
|
- build-static-retroarch-ngc
|
|
dependencies: []
|
|
script:
|
|
# Dummy for now
|
|
- /bin/true
|