mirror of
https://github.com/libretro/RetroArch
synced 2025-02-10 12:40:03 +00:00
Due to node v20 being incompatible with some of the CI images (too old glibc), the checkout action is replaced by an alternative which does not need node, and upload is removed for now.
1141 lines
43 KiB
YAML
1141 lines
43 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
|
|
|
|
env:
|
|
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
|
|
|
|
build-retroarch-windows-x64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-mxe-win64-cross:gcc10
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "MOC=/usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin/moc ./configure --host=x86_64-w64-mingw32.shared"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch.exe; fi
|
|
- "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"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist"
|
|
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32.static-gcc build=release && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32.static-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.static-gcc build=release && make -j$NUMPROC platform=win compiler=x86_64-w64-mingw32.static-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"
|
|
- "/bin/bash /usr/lib/mxe/tools/copydlldeps.sh
|
|
--infile retroarch.exe
|
|
--destdir ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/
|
|
--recursivesrcdir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/bearer/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/iconengines/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/imageformats/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/platforms/
|
|
--enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/styles/
|
|
--copy
|
|
--objdump x86_64-w64-mingw32.shared-objdump"
|
|
- "cp -f nvdaControllerClient64.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/nvdaControllerClient64.dll"
|
|
- "rm -f ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/opengl32.dll"
|
|
|
|
build-retroarch-windows-i686:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-mxe-win32-cross:gcc10
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "MOC=/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/moc ./configure --host=i686-w64-mingw32.shared"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch.exe; fi
|
|
- "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"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist"
|
|
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC platform=win compiler=i686-w64-mingw32.static-gcc build=release && make -j$NUMPROC platform=win compiler=i686-w64-mingw32.static-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=i686-w64-mingw32.static-gcc build=release && make -j$NUMPROC platform=win compiler=i686-w64-mingw32.static-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"
|
|
- "/bin/bash /usr/lib/mxe/tools/copydlldeps.sh
|
|
--infile retroarch.exe
|
|
--destdir ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/
|
|
--recursivesrcdir /usr/lib/mxe/usr/i686-w64-mingw32.shared/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/bearer/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/iconengines/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/imageformats/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/platforms/
|
|
--enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/styles/
|
|
--copy
|
|
--objdump i686-w64-mingw32.shared-objdump"
|
|
- "rm -f ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/opengl32.dll"
|
|
|
|
build-retroarch-windows-msvc10-x64:
|
|
tags:
|
|
- msvc2010
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
MSYSTEM: MINGW64
|
|
ARCH: x86_64
|
|
MSYS_BIN_DIR: C:\msys64\usr\bin
|
|
SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
|
|
RCEDIT_BIN_DIR: C:\Program Files\rcedit
|
|
PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin
|
|
MSVC_PLATFORM: windows_msvc2010_x64
|
|
before_script:
|
|
- $Env:HOME = "."
|
|
- $Env:Path += -join(";", "$Env:MSYS_BIN_DIR", ";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- |
|
|
$ErrorActionPreference = 'Stop'
|
|
# Build RetroArch
|
|
bash.exe -l -c "make -f Makefile.griffin platform=$Env:MSVC_PLATFORM"
|
|
if ($LastExitCode -ne 0){throw "Failed to build RetroArch"}
|
|
mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
|
|
if ($LastExitCode -ne 0){throw "Failed to add manifest to RetroArch binary"}
|
|
rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
|
|
if ($LastExitCode -ne 0){throw "Failed to set icon of RetroArch binary"}
|
|
# Create .media subdirectories
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
|
|
# Copy audio/video filters
|
|
Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
|
|
Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
|
|
# Copy default config file
|
|
Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
|
|
# Copy dll dependencies
|
|
# (note that msvc builds should not have any, but this
|
|
# may change in the future)
|
|
copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
|
|
if ($LastExitCode -ne 0){throw "Failed to copy RetroArch dependencies"}
|
|
Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
|
|
|
|
build-retroarch-windows-msvc10-i686:
|
|
tags:
|
|
- msvc2010
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
MSYSTEM: MINGW32
|
|
ARCH: x86
|
|
MSYS_BIN_DIR: C:\msys64\usr\bin
|
|
SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
|
|
RCEDIT_BIN_DIR: C:\Program Files\rcedit
|
|
PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin
|
|
MSVC_PLATFORM: windows_msvc2010_x86
|
|
before_script:
|
|
- $Env:HOME = "."
|
|
- $Env:Path += -join(";", "$Env:MSYS_BIN_DIR", ";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- |
|
|
$ErrorActionPreference = 'Stop'
|
|
# Build RetroArch
|
|
bash.exe -l -c "make -f Makefile.griffin platform=$Env:MSVC_PLATFORM"
|
|
if ($LastExitCode -ne 0){throw "Failed to build RetroArch"}
|
|
mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
|
|
if ($LastExitCode -ne 0){throw "Failed to add manifest to RetroArch binary"}
|
|
rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
|
|
if ($LastExitCode -ne 0){throw "Failed to set icon of RetroArch binary"}
|
|
# Create .media subdirectories
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
|
|
# Copy audio/video filters
|
|
Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
|
|
Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
|
|
# Copy default config file
|
|
Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
|
|
# Copy dll dependencies
|
|
# (note that msvc builds should not have any, but this
|
|
# may change in the future)
|
|
copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
|
|
if ($LastExitCode -ne 0){throw "Failed to copy RetroArch dependencies"}
|
|
Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
|
|
|
|
build-retroarch-windows-msvc05-i686:
|
|
tags:
|
|
- win10
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
MSYSTEM: MINGW32
|
|
ARCH: x86
|
|
MSYS_BIN_DIR: C:\msys64\usr\bin
|
|
SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin
|
|
RCEDIT_BIN_DIR: C:\Program Files\rcedit
|
|
PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin
|
|
VS80COMNTOOLS: C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\
|
|
MSVC_PLATFORM: windows_msvc2005_x86
|
|
before_script:
|
|
- $Env:HOME = "."
|
|
- $Env:Path += -join(";", "$Env:MSYS_BIN_DIR", ";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR")
|
|
artifacts:
|
|
paths:
|
|
- retroarch.exe
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- |
|
|
$ErrorActionPreference = 'Stop'
|
|
# Build RetroArch
|
|
bash.exe -l -c "make -f Makefile.griffin platform=$Env:MSVC_PLATFORM"
|
|
if ($LastExitCode -ne 0){throw "Failed to build RetroArch"}
|
|
mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1"
|
|
if ($LastExitCode -ne 0){throw "Failed to add manifest to RetroArch binary"}
|
|
rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico"
|
|
if ($LastExitCode -ne 0){throw "Failed to set icon of RetroArch binary"}
|
|
# Create .media subdirectories
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory
|
|
New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory
|
|
# Copy audio/video filters
|
|
Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio"
|
|
Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video"
|
|
# Copy default config file
|
|
Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg"
|
|
# Copy dll dependencies
|
|
# (note that msvc builds should not have any, but this
|
|
# may change in the future)
|
|
copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist"
|
|
if ($LastExitCode -ne 0){throw "Failed to copy RetroArch dependencies"}
|
|
Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore
|
|
|
|
build-retroarch-linux-x64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:xenial-gcc9
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_qt
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
# Qt build
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt"
|
|
- "./configure --prefix=/usr"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi
|
|
- "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt prefix=/usr"
|
|
- "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt/etc"
|
|
- "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDirQt.tar.gz AppDirQt && rm -rf AppDirQt && cd -"
|
|
- "mv -f retroarch retroarch_qt"
|
|
# Non-Qt build
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir"
|
|
- "make clean"
|
|
- "./configure --disable-qt --prefix=/usr"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi
|
|
- "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir prefix=/usr"
|
|
- "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir/etc"
|
|
- "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDir.tar.gz AppDir && rm -rf AppDir && cd -"
|
|
# Filters
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.so ${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 build=release && make -j$NUMPROC build=release strip && cd -"
|
|
- "cp -f gfx/video_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
build-retroarch-linux-i686:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-i386-ubuntu:xenial-gcc9
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
# Qt build
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt"
|
|
- "./configure --prefix=/usr"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi
|
|
- "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt prefix=/usr"
|
|
- "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt/etc"
|
|
- "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDirQt.tar.gz AppDirQt && rm -rf AppDirQt && cd -"
|
|
- "mv -f retroarch retroarch_qt"
|
|
# Non-Qt build
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir"
|
|
- "make clean"
|
|
- "./configure --disable-qt --prefix=/usr"
|
|
- "make -j$NUMPROC"
|
|
- if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi
|
|
- "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir prefix=/usr"
|
|
- "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir/etc"
|
|
- "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDir.tar.gz AppDir && rm -rf AppDir && cd -"
|
|
# Filters
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio"
|
|
- "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -"
|
|
- "cp -f libretro-common/audio/dsp_filters/*.so ${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 build=release && make -j$NUMPROC build=release strip && cd -"
|
|
- "cp -f gfx/video_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
- "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video"
|
|
|
|
.build-retroarch-macos-xcode:
|
|
# Metal/Universal x86_64 arm64 is default
|
|
tags:
|
|
- macosx-packaging
|
|
stage: build
|
|
variables:
|
|
XCARCHIVE_PATH: pkg/apple/build/RetroArchUniversal
|
|
XCPROJECT_NAME: RetroArch_Metal
|
|
XCCONFIG: GitLabCI.xcconfig
|
|
artifacts:
|
|
paths:
|
|
- ${XCPROJECT_NAME}.zip
|
|
- retroarch-repo/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- xcodebuild -project pkg/apple/${XCPROJECT_NAME}.xcodeproj -config Release -scheme RetroArch -archivePath ${XCARCHIVE_PATH} -xcconfig pkg/apple/${XCCONFIG} archive
|
|
- xcodebuild -exportArchive -archivePath ${XCARCHIVE_PATH}.xcarchive -exportPath . -exportOptionsPlist pkg/apple/OSX/ExportOptions.plist
|
|
- ditto -c -k --sequesterRsrc --keepParent RetroArch.app ${XCPROJECT_NAME}.zip
|
|
- mkdir .retroarch-repo
|
|
- "cp -R ./* .retroarch-repo"
|
|
- echo '#define GIT_VERSION ' $(git rev-parse --short HEAD) > .retroarch-repo/.git_version.h
|
|
- "mv .retroarch-repo/ retroarch-repo/"
|
|
|
|
# Mac OS Universal, Metal
|
|
build-retroarch-osx-universal-metal:
|
|
extends: .build-retroarch-macos-xcode
|
|
|
|
build-retroarch-osx-opengl-x64:
|
|
extends: .build-retroarch-macos-xcode
|
|
variables:
|
|
XCARCHIVE_PATH: pkg/apple/build/RetroArchOpenGL
|
|
XCPROJECT_NAME: RetroArch
|
|
XCCONFIG: OpenGL_GitLabCI.xcconfig
|
|
|
|
#build-retroarch-osx-ppc:
|
|
# stage: build
|
|
# artifacts:
|
|
# paths:
|
|
# - ${XCPROJECT_NAME}.zip
|
|
# - retroarch-repo/
|
|
# expire_in: 10 min
|
|
# dependencies: []
|
|
# variables:
|
|
# XCPROJECT_NAME: RetroArch
|
|
# XCCONFIG: OpenGL_GitLabCI.xcconfig
|
|
# tags:
|
|
# - macosx-legacy
|
|
# script:
|
|
# - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch_PPC.xcodeproj ONLY_ACTIVE_ARCH=NO
|
|
# - pushd pkg/apple/build/Release/
|
|
# - ditto -c -k --sequesterRsrc --keepParent RetroArch.app ${XCPROJECT_NAME}.zip
|
|
# - popd
|
|
# - mv pkg/apple/build/Release/RetroArch.zip ${XCPROJECT_NAME}.zip
|
|
# - mkdir .retroarch-repo
|
|
# - "cp -r ./* .retroarch-repo"
|
|
# - "mv .retroarch-repo/ retroarch-repo/"
|
|
|
|
build-retroarch-ios-arm64:
|
|
extends: .build-retroarch-macos-xcode
|
|
tags:
|
|
- mac-apple-silicon
|
|
variables:
|
|
XCPROJECT_NAME: RetroArch_iOS13
|
|
XCCONFIG: GitLabCI.xcconfig
|
|
XCSCHEME: "RetroArch iOS Release"
|
|
XCDESTINATION: "generic/platform=iOS"
|
|
artifacts:
|
|
paths:
|
|
- retroarch-repo/
|
|
expire_in: 10 min
|
|
script:
|
|
- xcodebuild -project pkg/apple/${XCPROJECT_NAME}.xcodeproj -destination ${XCDESTINATION} -config Release -scheme "${XCSCHEME}" -xcconfig pkg/apple/iOS/${XCCONFIG} build
|
|
- mkdir .retroarch-repo
|
|
- "cp -r ./* .retroarch-repo"
|
|
- echo '#define GIT_VERSION ' $(git rev-parse --short HEAD) > .retroarch-repo/.git_version.h
|
|
- "mv .retroarch-repo/ retroarch-repo/"
|
|
|
|
build-retroarch-ios9:
|
|
extends: .build-retroarch-macos-xcode
|
|
variables:
|
|
XCPROJECT_NAME: RetroArch_iOS9
|
|
XCCONFIG: GitLabCI.xcconfig
|
|
XCSCHEME: "RetroArchiOS9"
|
|
artifacts:
|
|
paths:
|
|
- retroarch-repo/
|
|
expire_in: 10 min
|
|
script:
|
|
- xcodebuild -project pkg/apple/${XCPROJECT_NAME}.xcodeproj -config Release -scheme "${XCSCHEME}" -xcconfig pkg/apple/iOS/GitLabCI.xcconfig build
|
|
- mkdir .retroarch-repo
|
|
- "cp -r ./* .retroarch-repo"
|
|
- echo '#define GIT_VERSION ' $(git rev-parse --short HEAD) > .retroarch-repo/.git_version.h
|
|
- "mv .retroarch-repo/ retroarch-repo/"
|
|
|
|
build-retroarch-tvos-arm64:
|
|
extends: build-retroarch-ios-arm64
|
|
variables:
|
|
XCSCHEME: "RetroArch tvOS Release"
|
|
XCDESTINATION: "generic/platform=tvOS"
|
|
|
|
build-retroarch-dingux-mips32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_rg350.opk
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
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-dingux-odbeta-mips32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_rg350_odbeta.opk
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.rg350_odbeta"
|
|
- "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-rs90-odbeta-mips32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_rs90_odbeta.opk
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.rs90"
|
|
- "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-retrofw-mips32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- retroarch_retrofw.opk
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.retrofw"
|
|
- "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-miyoo-arm32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
STRIP_BIN: 1
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -j$NUMPROC -f Makefile.miyoo"
|
|
- "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/miyoo/20a-retroarch ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
|
|
build-retroarch-android-normal:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew assembleNormalRelease
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
build-retroarch-android-aarch64:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew assembleAarch64Release
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
build-retroarch-android-ra32:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew assembleRa32Release
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
build-retroarch-android-playstore-normal:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew bundlePlayStoreNormalRelease
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
build-retroarch-android-playstore-plus:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
script:
|
|
- |
|
|
set -e
|
|
cd pkg/android/phoenix
|
|
./gradlew bundlePlayStorePlusRelease
|
|
cd -
|
|
mkdir .retroarch-precompiled
|
|
cp -r ./* .retroarch-precompiled/
|
|
mv .retroarch-precompiled/ retroarch-precompiled/
|
|
|
|
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: 10 min
|
|
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: 10 min
|
|
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-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: 10 min
|
|
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: 10 min
|
|
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-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/
|
|
- retroarch-precompiled-gl/
|
|
expire_in: 10 min
|
|
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/"
|
|
- "make -f Makefile.vita clean"
|
|
- "HAVE_VITAGLES=1 make -f Makefile.vita -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled-gl"
|
|
- "cp -r ./* .retroarch-precompiled-gl/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled-gl/ retroarch-precompiled-gl/"
|
|
|
|
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: 10 min
|
|
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
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-ps2
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.ps2 -j$NUMPROC ||:"
|
|
- "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:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- raboot.elf
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.ps2.salamander -j$NUMPROC release"
|
|
|
|
build-static-retroarch-psl1ght:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psl1ght:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-psl1ght
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.psl1ght -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-psl1ght:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psl1ght:latest
|
|
stage: build
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch_psl1ght_salamander.elf
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.psl1ght.salamander -j$NUMPROC create-salamander"
|
|
|
|
build-static-retroarch-orbis:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-orbis:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-orbis
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.orbis -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-orbis:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-orbis:latest
|
|
stage: build
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch_orbis.self
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "make -f Makefile.orbis -j$NUMPROC HAVE_STATIC_DUMMY=1"
|
|
|
|
build-static-retroarch-djgpp:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-djgpp-build-container:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs: []
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.dos -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
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))
|
|
- export ACTIONS_RUNNER_FORCED_INTERNAL_NODE_VERSION=node16
|
|
- export ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION=node16
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
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-ctr-legacy:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:ctr-legacy
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
- export ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs: []
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "make -f Makefile.ctr -j$NUMPROC ||:"
|
|
- "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))
|
|
- export ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true
|
|
artifacts:
|
|
paths:
|
|
- retroarch_3ds.cia
|
|
- RetroArch.3dsx
|
|
- RetroArch.smdh
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
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-wiiu:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
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-wiiu:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch.rpx
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
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: 10 min
|
|
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: 10 min
|
|
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: 10 min
|
|
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: 10 min
|
|
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"
|
|
|
|
build-static-retroarch-emscripten:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-emscripten:latest
|
|
stage: prepare-for-static-cores
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- retroarch-precompiled/
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
needs:
|
|
# Dummy build requires no core
|
|
- build-static-retroarch-dummy-emscripten
|
|
script:
|
|
# Allow failure since we don't have a core
|
|
- "emmake make -f Makefile.emscripten -j$NUMPROC ||:"
|
|
- "mkdir .retroarch-precompiled"
|
|
- "cp -r ./* .retroarch-precompiled/"
|
|
- "mv .retroarch-precompiled/ retroarch-precompiled/"
|
|
|
|
build-static-retroarch-dummy-emscripten:
|
|
image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:latest
|
|
stage: build
|
|
variables:
|
|
MEDIA_PATH: .media
|
|
before_script:
|
|
- export NUMPROC=$(($(nproc)/3))
|
|
artifacts:
|
|
paths:
|
|
- ${MEDIA_PATH}
|
|
expire_in: 10 min
|
|
dependencies: []
|
|
script:
|
|
- "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/media"
|
|
- "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 -rf pkg/emscripten/libretro ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg"
|
|
- "cp -f media/canvas.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/icon_dark.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/icon_light.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/invader_dark.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/invader_light.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/libretro-logo.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/retroarch-16x16.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/retroarch-16x16.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/retroarch-96x96.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
- "cp -f media/retroarch.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media"
|
|
|
|
trigger_static-cores:
|
|
stage: trigger-static-cores
|
|
needs:
|
|
- build-static-retroarch-libnx-aarch64
|
|
- build-static-retroarch-psp
|
|
- build-static-retroarch-vita
|
|
- build-static-retroarch-ps2
|
|
- build-static-retroarch-psl1ght
|
|
- build-static-retroarch-orbis
|
|
- build-static-retroarch-ctr
|
|
- build-static-retroarch-ctr-legacy
|
|
- build-static-retroarch-wiiu
|
|
- build-static-retroarch-wii
|
|
- build-static-retroarch-ngc
|
|
- build-static-retroarch-emscripten
|
|
dependencies: []
|
|
script:
|
|
# Dummy for now
|
|
- /bin/true
|