Files
parallel-gx2/.github/workflows/preflight-apple-embedded.yml
T
libretroadmin a2de2322c8 Static Makefile, ParaLLEl GX2, and libretro-common for the network
The core builds with a static Makefile (Makefile + Makefile.common) in the
manner of the other ParaLLEl cores, for every target .gitlab-ci.yml has:
Linux x86_64/aarch64, Windows (MinGW, native or cross), macOS, iOS, tvOS,
Android arm64/x86_64 and webOS. CMake, vcpkg and their overlay ports are
gone; the libraries the core needs are submodules built with it (fmt
12.1.0, glm 1.0.1, glslang 15.1.0, libusb 1.0.29, pugixml 1.15, zlib
1.3.1, zstd 1.5.7), with the generated files and the graphic packs
produced by the Makefile itself (tools/pack_graphic_packs.c), and a
precompiled header for gcc and clang.

The core is renamed parallel_gx2 (parallel_gx2_libretro.info, library
name "ParaLLEl GX2").

HTTP and TLS go through RetroArch's libretro-common (net_http with the
per-request TLS settings, the built-in TLS client, x509, the hashes and
the KDF) in place of libcurl, OpenSSL and mbedTLS: dependencies/curl-compat
is the small libcurl API nlibcurl and napi use, on one transfer thread with
lock-free submission and per-handle event queues, with its own tests
against local HTTP and TLS servers, plain and under ASan/UBSan and TSan,
in both CIs. The libretro-common files are plain copies from RetroArch.

boost is replaced by the few headers the core uses (boost-compat), and
the CI files build with the Makefile.
2026-11-07 06:02:30 +01:00

58 lines
1.6 KiB
YAML

name: Preflight Apple embedded
# Not for upstream, and not a build anyone should download yet: the core
# for iOS and tvOS, built to find out what stops it.
#
# Vulkan is off - MoltenVK ships as a dylib and a loose dylib beside a core is
# not something these systems load - so the GPU is Metal here, with the software
# readback present path the core already has for frontends that hand out no
# hardware context.
on:
push:
branches:
- libretro-apple-embedded
workflow_dispatch:
jobs:
preflight:
name: ${{ matrix.platform }}
runs-on: macos-15
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
include:
- platform: ios
target: ios-arm64
core: parallel_gx2_libretro_ios.dylib
- platform: tvos
target: tvos-arm64
core: parallel_gx2_libretro_tvos.dylib
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Which SDKs this runner has
run: |
xcodebuild -version
xcodebuild -showsdks
- name: Build the core
run: make -j $(sysctl -n hw.ncpu) platform=${{ matrix.target }} IOS_MINVER=13.4 MINVER=13.4
- name: What came out
run: |
ls -l ${{ matrix.core }}
vtool -show ${{ matrix.core }} || true
otool -L ${{ matrix.core }} || true
- uses: actions/upload-artifact@v4
if: success()
with:
name: parallel_gx2_libretro_${{ matrix.platform }}
path: ${{ matrix.core }}