1image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:latest 2 3stages: 4 - build-prepare 5 - build 6 - prepare-for-static-cores 7 - trigger-static-cores 8 9build-retroarch-windows-x64: 10 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-mxe-win64-cross:gcc10 11 stage: build 12 variables: 13 MEDIA_PATH: .media 14 STRIP_BIN: 1 15 before_script: 16 - export NUMPROC=$(($(nproc)/3)) 17 artifacts: 18 paths: 19 - retroarch.exe 20 - ${MEDIA_PATH} 21 expire_in: 10 min 22 dependencies: [] 23 script: 24 - "MOC=/usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin/moc ./configure --host=x86_64-w64-mingw32.shared" 25 - "make -j$NUMPROC" 26 - if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch.exe; fi 27 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 28 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 29 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 30 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist" 31 - "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 -" 32 - "cp -f libretro-common/audio/dsp_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 33 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 34 - "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 -" 35 - "cp -f gfx/video_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 36 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 37 - "cp -f retroarch.cfg ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/retroarch.default.cfg" 38 - "echo -e '[Paths]\nPlugins = ./' > ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/qt.conf" 39 - "/bin/bash /usr/lib/mxe/tools/copydlldeps.sh 40 --infile retroarch.exe 41 --destdir ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/ 42 --recursivesrcdir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/ 43 --enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/bearer/ 44 --enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/iconengines/ 45 --enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/imageformats/ 46 --enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/platforms/ 47 --enforcedir /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/plugins/styles/ 48 --copy 49 --objdump x86_64-w64-mingw32.shared-objdump" 50 - "rm -f ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/opengl32.dll" 51 52build-retroarch-windows-i686: 53 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-mxe-win32-cross:gcc10 54 stage: build 55 variables: 56 MEDIA_PATH: .media 57 STRIP_BIN: 1 58 before_script: 59 - export NUMPROC=$(($(nproc)/3)) 60 artifacts: 61 paths: 62 - retroarch.exe 63 - ${MEDIA_PATH} 64 expire_in: 10 min 65 dependencies: [] 66 script: 67 - "MOC=/usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/bin/moc ./configure --host=i686-w64-mingw32.shared" 68 - "make -j$NUMPROC" 69 - if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch.exe; fi 70 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 71 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 72 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 73 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist" 74 - "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 -" 75 - "cp -f libretro-common/audio/dsp_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 76 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 77 - "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 -" 78 - "cp -f gfx/video_filters/*.dll ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 79 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 80 - "cp -f retroarch.cfg ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/retroarch.default.cfg" 81 - "echo -e '[Paths]\nPlugins = ./' > ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/qt.conf" 82 - "/bin/bash /usr/lib/mxe/tools/copydlldeps.sh 83 --infile retroarch.exe 84 --destdir ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/ 85 --recursivesrcdir /usr/lib/mxe/usr/i686-w64-mingw32.shared/ 86 --enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/bearer/ 87 --enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/iconengines/ 88 --enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/imageformats/ 89 --enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/platforms/ 90 --enforcedir /usr/lib/mxe/usr/i686-w64-mingw32.shared/qt5/plugins/styles/ 91 --copy 92 --objdump i686-w64-mingw32.shared-objdump" 93 - "rm -f ${MEDIA_PATH}/${CI_PROJECT_NAME}/redist/opengl32.dll" 94 95build-retroarch-windows-msvc10-x64: 96 tags: 97 - msvc2010 98 stage: build 99 variables: 100 MEDIA_PATH: .media 101 MSYSTEM: MINGW64 102 ARCH: x86_64 103 MSYS_BIN_DIR: C:\msys64\usr\bin 104 SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin 105 RCEDIT_BIN_DIR: C:\Program Files\rcedit 106 PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin 107 before_script: 108 - $Env:HOME = "." 109 - $Env:Path += -join(";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR") 110 artifacts: 111 paths: 112 - retroarch.exe 113 - ${MEDIA_PATH} 114 expire_in: 10 min 115 dependencies: [] 116 script: 117 # Build RetroArch 118 - $Script:MakeCmd = "$Env:MSYS_BIN_DIR\env.exe $Env:MSYS_BIN_DIR\bash.exe -l -c 'make -f Makefile.griffin platform=windows_msvc2010_x64'" 119 - Invoke-Expression $Script:MakeCmd 120 - mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1" 121 - rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico" 122 # Create .media subdirectories 123 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory 124 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory 125 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory 126 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory 127 # Copy audio/video filters 128 - Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" 129 - Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" 130 # Copy default config file 131 - Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg" 132 # Copy dll dependencies 133 # (note that msvc10 build should not have any, but this 134 # may change in the future) 135 - copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" 136 - Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore 137 138build-retroarch-windows-msvc10-i686: 139 tags: 140 - msvc2010 141 stage: build 142 variables: 143 MEDIA_PATH: .media 144 MSYSTEM: MINGW32 145 ARCH: x86 146 MSYS_BIN_DIR: C:\msys64\usr\bin 147 SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin 148 RCEDIT_BIN_DIR: C:\Program Files\rcedit 149 PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin 150 before_script: 151 - $Env:HOME = "." 152 - $Env:Path += -join(";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR") 153 artifacts: 154 paths: 155 - retroarch.exe 156 - ${MEDIA_PATH} 157 expire_in: 10 min 158 dependencies: [] 159 script: 160 # Build RetroArch 161 - $Script:MakeCmd = "$Env:MSYS_BIN_DIR\env.exe $Env:MSYS_BIN_DIR\bash.exe -l -c 'make -f Makefile.griffin platform=windows_msvc2010_x86'" 162 - Invoke-Expression $Script:MakeCmd 163 - mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1" 164 - rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico" 165 # Create .media subdirectories 166 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory 167 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory 168 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory 169 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory 170 # Copy audio/video filters 171 - Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" 172 - Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" 173 # Copy default config file 174 - Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg" 175 # Copy dll dependencies 176 # (note that msvc10 build should not have any, but this 177 # may change in the future) 178 - copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" 179 - Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore 180 181build-retroarch-windows-msvc05-i686: 182 tags: 183 - win10 184 stage: build 185 variables: 186 MEDIA_PATH: .media 187 MSYSTEM: MINGW32 188 ARCH: x86 189 MSYS_BIN_DIR: C:\msys64\usr\bin 190 SDK_BIN_DIR: C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin 191 RCEDIT_BIN_DIR: C:\Program Files\rcedit 192 PEDEPS_BIN_DIR: C:\Program Files\pedeps-0.1.9-win64\bin 193 VS80COMNTOOLS: C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\ 194 before_script: 195 - $Env:HOME = "." 196 - $Env:Path += -join(";", "$Env:SDK_BIN_DIR", ";", "$Env:RCEDIT_BIN_DIR", ";", "$Env:PEDEPS_BIN_DIR") 197 artifacts: 198 paths: 199 - retroarch.exe 200 - ${MEDIA_PATH} 201 expire_in: 10 min 202 dependencies: [] 203 script: 204 # Build RetroArch 205 - $Script:MakeCmd = "$Env:MSYS_BIN_DIR\env.exe $Env:MSYS_BIN_DIR\bash.exe -l -c 'make -f Makefile.griffin platform=windows_msvc2005_x86'" 206 - Invoke-Expression $Script:MakeCmd 207 - mt.exe -nologo -manifest "retroarch.exe.manifest" -outputresource:"retroarch.exe;#1" 208 - rcedit-x64.exe "retroarch.exe" --set-icon "media\retroarch.ico" 209 # Create .media subdirectories 210 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" -ItemType Directory 211 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" -ItemType Directory 212 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg" -ItemType Directory 213 - New-Item -Path "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" -ItemType Directory 214 # Copy audio/video filters 215 - Get-ChildItem -Path "libretro-common/audio/dsp_filters/*" -Include *.dsp | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/audio" 216 - Get-ChildItem -Path "gfx/video_filters/*" -Include *.filt | Copy-Item -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/filters/video" 217 # Copy default config file 218 - Copy-Item -Path "retroarch.cfg" -Destination "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/pkg/retroarch.default.cfg" 219 # Copy dll dependencies 220 # (note that msvc05 build should not have any, but this 221 # may change in the future) 222 - copypedeps.exe -r retroarch.exe "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist" 223 - Remove-Item "$Env:MEDIA_PATH/$Env:CI_PROJECT_NAME/redist/retroarch.exe" -ErrorAction Ignore 224 225build-retroarch-linux-x64: 226 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:xenial-gcc9 227 stage: build 228 variables: 229 MEDIA_PATH: .media 230 STRIP_BIN: 1 231 before_script: 232 - export NUMPROC=$(($(nproc)/3)) 233 artifacts: 234 paths: 235 - retroarch 236 - retroarch_qt 237 - ${MEDIA_PATH} 238 expire_in: 10 min 239 dependencies: [] 240 script: 241 # Qt build 242 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt" 243 - "./configure --prefix=/usr" 244 - "make -j$NUMPROC" 245 - if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi 246 - "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt prefix=/usr" 247 - "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt/etc" 248 - "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDirQt.tar.gz AppDirQt && rm -rf AppDirQt && cd -" 249 - "mv -f retroarch retroarch_qt" 250 # Non-Qt build 251 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir" 252 - "make clean" 253 - "./configure --disable-qt --prefix=/usr" 254 - "make -j$NUMPROC" 255 - if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi 256 - "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir prefix=/usr" 257 - "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir/etc" 258 - "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDir.tar.gz AppDir && rm -rf AppDir && cd -" 259 # Filters 260 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 261 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 262 - "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -" 263 - "cp -f libretro-common/audio/dsp_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 264 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 265 - "cd gfx/video_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -" 266 - "cp -f gfx/video_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 267 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 268 269build-retroarch-linux-i686: 270 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-i386-ubuntu:xenial-gcc9 271 stage: build 272 variables: 273 MEDIA_PATH: .media 274 STRIP_BIN: 1 275 before_script: 276 - export NUMPROC=$(($(nproc)/3)) 277 artifacts: 278 paths: 279 - retroarch 280 - ${MEDIA_PATH} 281 expire_in: 10 min 282 dependencies: [] 283 script: 284 # Qt build 285 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt" 286 - "./configure --prefix=/usr" 287 - "make -j$NUMPROC" 288 - if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi 289 - "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt prefix=/usr" 290 - "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDirQt/etc" 291 - "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDirQt.tar.gz AppDirQt && rm -rf AppDirQt && cd -" 292 - "mv -f retroarch retroarch_qt" 293 # Non-Qt build 294 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir" 295 - "make clean" 296 - "./configure --disable-qt --prefix=/usr" 297 - "make -j$NUMPROC" 298 - if [ $STRIP_BIN -eq 1 ]; then strip --strip-unneeded retroarch; fi 299 - "make install DESTDIR=${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir prefix=/usr" 300 - "rm -rf ${MEDIA_PATH}/${CI_PROJECT_NAME}/AppDir/etc" 301 - "cd ${MEDIA_PATH}/${CI_PROJECT_NAME}/ && tar -czf AppDir.tar.gz AppDir && rm -rf AppDir && cd -" 302 # Filters 303 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 304 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 305 - "cd libretro-common/audio/dsp_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -" 306 - "cp -f libretro-common/audio/dsp_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 307 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 308 - "cd gfx/video_filters && make -j$NUMPROC build=release && make -j$NUMPROC build=release strip && cd -" 309 - "cp -f gfx/video_filters/*.so ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 310 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 311 312.build-retroarch-macos-xcode: 313 # Metal/Universal x86_64 arm64 is default 314 tags: 315 - macosx-packaging 316 stage: build 317 variables: 318 XCARCHIVE_PATH: pkg/apple/build/RetroArchUniversal 319 XCPROJECT_NAME: RetroArch_Metal 320 XCCONFIG: GitLabCI.xcconfig 321 artifacts: 322 paths: 323 - ${XCPROJECT_NAME}.zip 324 - retroarch-repo/ 325 expire_in: 10 min 326 dependencies: [] 327 script: 328 - xcodebuild -project pkg/apple/${XCPROJECT_NAME}.xcodeproj -config Release -scheme RetroArch -archivePath ${XCARCHIVE_PATH} -xcconfig pkg/apple/${XCCONFIG} archive 329 - pushd ${XCARCHIVE_PATH}.xcarchive/Products/Users/gitlab/Applications/ 330 - ditto -c -k --sequesterRsrc --keepParent RetroArch.app RetroArch.zip 331 - popd 332 - mv ${XCARCHIVE_PATH}.xcarchive/Products/Users/gitlab/Applications/RetroArch.zip ${XCPROJECT_NAME}.zip 333 - mkdir .retroarch-repo 334 - "cp -r ./* .retroarch-repo" 335 - "mv .retroarch-repo/ retroarch-repo/" 336 337# Mac OS Universal, Metal 338build-retroarch-osx-universal-metal: 339 extends: .build-retroarch-macos-xcode 340 341build-retroarch-osx-opengl-x64: 342 extends: .build-retroarch-macos-xcode 343 variables: 344 XCARCHIVE_PATH: pkg/apple/build/RetroArchOpenGL 345 XCPROJECT_NAME: RetroArch 346 XCCONFIG: OpenGL_GitLabCI.xcconfig 347 348build-retroarch-ios-arm64: 349 extends: .build-retroarch-macos-xcode 350 variables: 351 XCPROJECT_NAME: RetroArch_iOS11_Metal 352 XCCONFIG: GitLabCI.xcconfig 353 XCSCHEME: "RetroArch iOS Release" 354 artifacts: 355 paths: 356 - retroarch-repo/ 357 expire_in: 10 min 358 script: 359 - xcodebuild -project pkg/apple/${XCPROJECT_NAME}.xcodeproj -config Release -scheme "${XCSCHEME}" -xcconfig pkg/apple/iOS/GitLabCI.xcconfig build 360 - mkdir .retroarch-repo 361 - "cp -r ./* .retroarch-repo" 362 - "mv .retroarch-repo/ retroarch-repo/" 363 364build-retroarch-ios9: 365 extends: .build-retroarch-macos-xcode 366 variables: 367 XCPROJECT_NAME: RetroArch_iOS9 368 XCCONFIG: GitLabCI.xcconfig 369 XCSCHEME: "RetroArchiOS9" 370 artifacts: 371 paths: 372 - retroarch-repo/ 373 expire_in: 10 min 374 script: 375 - xcodebuild -project pkg/apple/${XCPROJECT_NAME}.xcodeproj -config Release -scheme "${XCSCHEME}" -xcconfig pkg/apple/iOS/GitLabCI.xcconfig build 376 - mkdir .retroarch-repo 377 - "cp -r ./* .retroarch-repo" 378 - "mv .retroarch-repo/ retroarch-repo/" 379 380build-retroarch-tvos-arm64: 381 extends: build-retroarch-ios-arm64 382 variables: 383 XCSCHEME: "RetroArch tvOS Release" 384 385build-retroarch-dingux-mips32: 386 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:latest 387 stage: build 388 variables: 389 MEDIA_PATH: .media 390 STRIP_BIN: 1 391 before_script: 392 - export NUMPROC=$(($(nproc)/3)) 393 artifacts: 394 paths: 395 - retroarch 396 - retroarch_rg350.opk 397 - ${MEDIA_PATH} 398 expire_in: 10 min 399 dependencies: [] 400 script: 401 - "make -j$NUMPROC -f Makefile.rg350" 402 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 403 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 404 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 405 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 406 407build-retroarch-dingux-odbeta-mips32: 408 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta 409 stage: build 410 variables: 411 MEDIA_PATH: .media 412 STRIP_BIN: 1 413 before_script: 414 - export NUMPROC=$(($(nproc)/3)) 415 artifacts: 416 paths: 417 - retroarch 418 - retroarch_rg350_odbeta.opk 419 - ${MEDIA_PATH} 420 expire_in: 10 min 421 dependencies: [] 422 script: 423 - "make -j$NUMPROC -f Makefile.rg350_odbeta" 424 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 425 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 426 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 427 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 428 429build-retroarch-rs90-odbeta-mips32: 430 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-dingux:odbeta 431 stage: build 432 variables: 433 MEDIA_PATH: .media 434 STRIP_BIN: 1 435 before_script: 436 - export NUMPROC=$(($(nproc)/3)) 437 artifacts: 438 paths: 439 - retroarch 440 - retroarch_rs90_odbeta.opk 441 - ${MEDIA_PATH} 442 expire_in: 10 min 443 dependencies: [] 444 script: 445 - "make -j$NUMPROC -f Makefile.rs90" 446 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 447 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 448 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 449 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 450 451build-retroarch-android-normal: 452 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest 453 stage: build 454 artifacts: 455 paths: 456 - retroarch-precompiled/ 457 expire_in: 10 min 458 script: 459 - "cd pkg/android/phoenix && ./gradlew assembleNormalRelease && cd -" 460 - "mkdir .retroarch-precompiled" 461 - "cp -r ./* .retroarch-precompiled/" 462 - "mv .retroarch-precompiled/ retroarch-precompiled/" 463 464build-retroarch-android-aarch64: 465 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest 466 stage: build 467 artifacts: 468 paths: 469 - retroarch-precompiled/ 470 expire_in: 10 min 471 script: 472 - "cd pkg/android/phoenix && ./gradlew assembleAarch64Release && cd -" 473 - "mkdir .retroarch-precompiled" 474 - "cp -r ./* .retroarch-precompiled/" 475 - "mv .retroarch-precompiled/ retroarch-precompiled/" 476 477build-retroarch-android-ra32: 478 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest 479 stage: build 480 artifacts: 481 paths: 482 - retroarch-precompiled/ 483 expire_in: 10 min 484 script: 485 - "cd pkg/android/phoenix && ./gradlew assembleRa32Release && cd -" 486 - "mkdir .retroarch-precompiled" 487 - "cp -r ./* .retroarch-precompiled/" 488 - "mv .retroarch-precompiled/ retroarch-precompiled/" 489 490build-retroarch-android-playstore-normal: 491 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest 492 stage: build 493 artifacts: 494 paths: 495 - retroarch-precompiled/ 496 expire_in: 10 min 497 script: 498 - "cd pkg/android/phoenix && ./gradlew bundlePlayStoreNormalRelease && cd -" 499 - "mkdir .retroarch-precompiled" 500 - "cp -r ./* .retroarch-precompiled/" 501 - "mv .retroarch-precompiled/ retroarch-precompiled/" 502 503build-retroarch-android-playstore-plus: 504 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-android:latest 505 stage: build 506 artifacts: 507 paths: 508 - retroarch-precompiled/ 509 expire_in: 10 min 510 script: 511 - "cd pkg/android/phoenix && ./gradlew bundlePlayStorePlusRelease && cd -" 512 - "mkdir .retroarch-precompiled" 513 - "cp -r ./* .retroarch-precompiled/" 514 - "mv .retroarch-precompiled/ retroarch-precompiled/" 515 516build-static-retroarch-libnx-aarch64: 517 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-libnx-devkitpro:latest 518 stage: prepare-for-static-cores 519 before_script: 520 - export NUMPROC=$(($(nproc)/3)) 521 artifacts: 522 paths: 523 - retroarch-precompiled/ 524 expire_in: 10 min 525 dependencies: [] 526 needs: 527 # Static dummy builds without a core so its a good check if it properly builds 528 - build-static-retroarch-dummy-libnx-aarch64 529 script: 530 # Allow failure since we don't have a core 531 - "make -f Makefile.libnx -j$NUMPROC ||:" 532 - "mkdir .retroarch-precompiled" 533 - "cp -r ./* .retroarch-precompiled/" 534 - "mv .retroarch-precompiled/ retroarch-precompiled/" 535 536build-static-retroarch-dummy-libnx-aarch64: 537 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-libnx-devkitpro:latest 538 stage: build 539 variables: 540 MEDIA_PATH: .media 541 before_script: 542 - export NUMPROC=$(($(nproc)/3)) 543 artifacts: 544 paths: 545 - retroarch_switch.nro 546 - retroarch_switch.elf 547 - ${MEDIA_PATH} 548 expire_in: 10 min 549 dependencies: [] 550 script: 551 - "make -f Makefile.libnx -j$NUMPROC HAVE_STATIC_DUMMY=1" 552 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 553 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 554 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 555 - "cp -f pkg/libnx/retroarch.jpg ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 556 557build-static-retroarch-vita: 558 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-vita:latest 559 stage: prepare-for-static-cores 560 before_script: 561 - export NUMPROC=$(($(nproc)/3)) 562 artifacts: 563 paths: 564 - retroarch-precompiled/ 565 - retroarch-precompiled-gl/ 566 expire_in: 10 min 567 dependencies: [] 568 needs: 569 # Dummy build requires no core 570 - build-static-retroarch-dummy-vita 571 script: 572 # Allow failure since we don't have a core 573 - "make -f Makefile.vita -j$NUMPROC ||:" 574 - "mkdir .retroarch-precompiled" 575 - "cp -r ./* .retroarch-precompiled/" 576 - "make -f Makefile.vita clean" 577 - "HAVE_VITAGLES=1 make -f Makefile.vita -j$NUMPROC ||:" 578 - "mkdir .retroarch-precompiled-gl" 579 - "cp -r ./* .retroarch-precompiled-gl/" 580 - "mv .retroarch-precompiled/ retroarch-precompiled/" 581 - "mv .retroarch-precompiled-gl/ retroarch-precompiled-gl/" 582 583build-static-retroarch-dummy-vita: 584 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-vita:latest 585 stage: build 586 variables: 587 MEDIA_PATH: .media 588 before_script: 589 - export NUMPROC=$(($(nproc)/3)) 590 artifacts: 591 paths: 592 - eboot.bin 593 - param.sfo 594 - ${MEDIA_PATH} 595 expire_in: 10 min 596 dependencies: [] 597 script: 598 - "make -f Makefile.vita.salamander -j$NUMPROC" 599 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 600 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 601 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 602 - "cp -fr pkg/vita/* ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 603 604build-static-retroarch-ps2: 605 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-ps2:latest 606 stage: prepare-for-static-cores 607 artifacts: 608 paths: 609 - retroarch-precompiled/ 610 expire_in: 10 min 611 dependencies: [] 612 needs: 613 # Dummy build requires no core 614 - build-static-retroarch-dummy-ps2 615 script: 616 # Allow failure since we don't have a core 617 # PS2 makefile for now doesn't allow -jX so this is why is hardcoded to -j1 618 - "make -f Makefile.ps2 -j1 ||:" 619 - "mkdir .retroarch-precompiled" 620 - "cp -r ./* .retroarch-precompiled/" 621 - "mv .retroarch-precompiled/ retroarch-precompiled/" 622 623build-static-retroarch-dummy-ps2: 624 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-ps2:latest 625 stage: build 626 before_script: 627 # PS2 doesn't allow to use -jX for now 628 - export NUMPROC=1 629 artifacts: 630 paths: 631 - raboot.elf 632 expire_in: 10 min 633 dependencies: [] 634 script: 635 - "make -f Makefile.ps2.salamander -j$NUMPROC release" 636 637build-static-retroarch-psp: 638 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psp:latest 639 stage: prepare-for-static-cores 640 before_script: 641 - export NUMPROC=$(($(nproc)/3)) 642 artifacts: 643 paths: 644 - retroarch-precompiled/ 645 expire_in: 10 min 646 dependencies: [] 647 needs: 648 # Dummy build requires no core 649 - build-static-retroarch-dummy-psp 650 script: 651 # We need to boostrap before compile 652 - "(cd bootstrap/psp1/kernel_functions_prx/ && make && cd -)" 653 # Allow failure since we don't have a core 654 - "make -f Makefile.psp1 -j$NUMPROC ||:" 655 - "mkdir .retroarch-precompiled" 656 - "cp -r ./* .retroarch-precompiled/" 657 - "mv .retroarch-precompiled/ retroarch-precompiled/" 658 659build-static-retroarch-dummy-psp: 660 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-psp:latest 661 stage: build 662 variables: 663 MEDIA_PATH: .media 664 before_script: 665 - export NUMPROC=$(($(nproc)/3)) 666 artifacts: 667 paths: 668 - EBOOT.PBP 669 - kernel_functions.prx 670 - ${MEDIA_PATH} 671 expire_in: 10 min 672 dependencies: [] 673 script: 674 - "(cd bootstrap/psp1/kernel_functions_prx/ && make && cd -)" 675 - "make -f Makefile.psp1.salamander -j$NUMPROC" 676 - "make -C bootstrap/psp1/kernel_functions_prx/" 677 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 678 - "cp -f pkg/psp1/ICON0.PNG ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 679 - "cp -f pkg/psp1/PIC1.PNG ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 680 681build-static-retroarch-ctr: 682 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest 683 stage: prepare-for-static-cores 684 before_script: 685 - export NUMPROC=$(($(nproc)/3)) 686 artifacts: 687 paths: 688 - retroarch-precompiled/ 689 expire_in: 10 min 690 dependencies: [] 691 needs: 692 # Dummy build requires no core 693 - build-static-retroarch-dummy-ctr 694 script: 695 # Allow failure since we don't have a core 696 - "make -f Makefile.ctr -j$NUMPROC USE_CTRULIB_2=1 ||:" 697 - "mkdir .retroarch-precompiled" 698 - "cp -r ./* .retroarch-precompiled/" 699 - "mv .retroarch-precompiled/ retroarch-precompiled/" 700 701build-static-retroarch-ctr-legacy: 702 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:ctr-legacy 703 stage: prepare-for-static-cores 704 before_script: 705 - export NUMPROC=$(($(nproc)/3)) 706 artifacts: 707 paths: 708 - retroarch-precompiled/ 709 expire_in: 10 min 710 dependencies: [] 711 script: 712 # Allow failure since we don't have a core 713 - "make -f Makefile.ctr -j$NUMPROC ||:" 714 - "mkdir .retroarch-precompiled" 715 - "cp -r ./* .retroarch-precompiled/" 716 - "mv .retroarch-precompiled/ retroarch-precompiled/" 717 718build-static-retroarch-dummy-ctr: 719 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest 720 stage: build 721 variables: 722 MEDIA_PATH: .media 723 before_script: 724 - export NUMPROC=$(($(nproc)/3)) 725 artifacts: 726 paths: 727 - retroarch_3ds.cia 728 - RetroArch.3dsx 729 - RetroArch.smdh 730 - ${MEDIA_PATH} 731 expire_in: 10 min 732 dependencies: [] 733 script: 734 - "make -f Makefile.ctr.salamander -j$NUMPROC USE_CTRULIB_2=1" 735 - "mv -f retroarch_3ds_salamander.cia retroarch_3ds.cia" 736 - "mv -f retroarch_3ds_salamander.3dsx RetroArch.3dsx" 737 - "mv -f retroarch_3ds_salamander.smdh RetroArch.smdh" 738 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 739 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 740 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 741 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 742 743build-static-retroarch-wiiu: 744 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-wiiu:latest 745 stage: prepare-for-static-cores 746 before_script: 747 - export NUMPROC=$(($(nproc)/3)) 748 artifacts: 749 paths: 750 - retroarch-precompiled/ 751 expire_in: 10 min 752 dependencies: [] 753 needs: 754 # Dummy build requires no core 755 - build-static-retroarch-dummy-wiiu 756 script: 757 # Allow failure since we don't have a core 758 - "make -f Makefile.wiiu -j$NUMPROC ||:" 759 - "mkdir .retroarch-precompiled" 760 - "cp -r ./* .retroarch-precompiled/" 761 - "mv .retroarch-precompiled/ retroarch-precompiled/" 762 763build-static-retroarch-dummy-wiiu: 764 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest 765 stage: build 766 variables: 767 MEDIA_PATH: .media 768 before_script: 769 - export NUMPROC=$(($(nproc)/3)) 770 artifacts: 771 paths: 772 - retroarch.rpx 773 - ${MEDIA_PATH} 774 expire_in: 10 min 775 dependencies: [] 776 script: 777 - "make -f Makefile.wiiu -j$NUMPROC SALAMANDER_BUILD=1" 778 - "mv -f retroarch_wiiu_salamander.rpx retroarch.rpx" 779 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 780 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 781 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 782 - "cp -f pkg/wiiu/icon.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 783 - "cp -f pkg/wiiu/meta.xml ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 784 785build-static-retroarch-wii: 786 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest 787 stage: prepare-for-static-cores 788 before_script: 789 - export NUMPROC=$(($(nproc)/3)) 790 artifacts: 791 paths: 792 - retroarch-precompiled/ 793 expire_in: 10 min 794 dependencies: [] 795 needs: 796 # Dummy build requires no core 797 - build-static-retroarch-dummy-wii 798 script: 799 # Allow failure since we don't have a core 800 - "make -f Makefile.wii -j$NUMPROC EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 ||:" 801 - "mkdir .retroarch-precompiled" 802 - "cp -r ./* .retroarch-precompiled/" 803 - "mv .retroarch-precompiled/ retroarch-precompiled/" 804 805build-static-retroarch-dummy-wii: 806 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest 807 stage: build 808 variables: 809 MEDIA_PATH: .media 810 before_script: 811 - export NUMPROC=$(($(nproc)/3)) 812 artifacts: 813 paths: 814 - boot.dol 815 - ${MEDIA_PATH} 816 expire_in: 10 min 817 dependencies: [] 818 script: 819 - "make -f Makefile.wii.salamander -j$NUMPROC EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0" 820 - "mv -f retroarch-salamander_wii.dol boot.dol" 821 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 822 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 823 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 824 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 825 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 826 - "cp -f pkg/wii/icon.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 827 - "cp -f pkg/wii/meta.xml ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 828 829build-static-retroarch-ngc: 830 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest 831 stage: prepare-for-static-cores 832 before_script: 833 - export NUMPROC=$(($(nproc)/3)) 834 artifacts: 835 paths: 836 - retroarch-precompiled/ 837 expire_in: 10 min 838 dependencies: [] 839 needs: 840 # Dummy build requires no core 841 - build-static-retroarch-dummy-ngc 842 script: 843 # Allow failure since we don't have a core 844 - "make -f Makefile.ngc -j$NUMPROC EXTERNAL_LIBOGC=1 GX_PTHREAD_LEGACY=0 ||:" 845 - "mkdir .retroarch-precompiled" 846 - "cp -r ./* .retroarch-precompiled/" 847 - "mv .retroarch-precompiled/ retroarch-precompiled/" 848 849build-static-retroarch-dummy-ngc: 850 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-devkitpro:latest 851 stage: build 852 variables: 853 MEDIA_PATH: .media 854 before_script: 855 - export NUMPROC=$(($(nproc)/3)) 856 artifacts: 857 paths: 858 - ${MEDIA_PATH} 859 expire_in: 10 min 860 dependencies: [] 861 script: 862 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 863 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 864 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 865 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 866 867build-static-retroarch-emscripten: 868 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-emscripten:latest 869 stage: prepare-for-static-cores 870 before_script: 871 - export NUMPROC=$(($(nproc)/3)) 872 artifacts: 873 paths: 874 - retroarch-precompiled/ 875 expire_in: 10 min 876 dependencies: [] 877 needs: 878 # Dummy build requires no core 879 - build-static-retroarch-dummy-emscripten 880 script: 881 # Allow failure since we don't have a core 882 - "emmake make -f Makefile.emscripten -j$NUMPROC ||:" 883 - "mkdir .retroarch-precompiled" 884 - "cp -r ./* .retroarch-precompiled/" 885 - "mv .retroarch-precompiled/ retroarch-precompiled/" 886 887build-static-retroarch-dummy-emscripten: 888 image: $CI_SERVER_HOST:5050/libretro-infrastructure/libretro-build-amd64-ubuntu:latest 889 stage: build 890 variables: 891 MEDIA_PATH: .media 892 before_script: 893 - export NUMPROC=$(($(nproc)/3)) 894 artifacts: 895 paths: 896 - ${MEDIA_PATH} 897 expire_in: 10 min 898 dependencies: [] 899 script: 900 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 901 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 902 - "mkdir -p ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 903 - "cp -f libretro-common/audio/dsp_filters/*.dsp ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/audio" 904 - "cp -f gfx/video_filters/*.filt ${MEDIA_PATH}/${CI_PROJECT_NAME}/filters/video" 905 - "cp -rf pkg/emscripten/libretro ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg" 906 - "cp -f media/canvas.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 907 - "cp -f media/icon_dark.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 908 - "cp -f media/icon_light.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 909 - "cp -f media/invader_dark.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 910 - "cp -f media/invader_light.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 911 - "cp -f media/libretro-logo.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 912 - "cp -f media/retroarch-16x16.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 913 - "cp -f media/retroarch-16x16.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 914 - "cp -f media/retroarch-96x96.png ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 915 - "cp -f media/retroarch.ico ${MEDIA_PATH}/${CI_PROJECT_NAME}/pkg/media" 916 917trigger_static-cores: 918 stage: trigger-static-cores 919 needs: 920 - build-static-retroarch-libnx-aarch64 921 - build-static-retroarch-vita 922 - build-static-retroarch-ps2 923 - build-static-retroarch-psp 924 - build-static-retroarch-ctr 925 - build-static-retroarch-ctr-legacy 926 - build-static-retroarch-wiiu 927 - build-static-retroarch-wii 928 - build-static-retroarch-ngc 929 - build-static-retroarch-emscripten 930 dependencies: [] 931 script: 932 # Dummy for now 933 - /bin/true 934