mirror of
https://github.com/SirHumza/orbisRPC.git
synced 2026-10-06 09:00:37 +02:00
- daemon writes diag.json at boot (fw, kinfo-table hit, msgbuf / sandbox / shellcore reachability) for the firmware matrix - focus_msgbuf_ok() reachability probe + host test - version 1.1.0 (version.h + installer Makefile) - ARCHITECTURE.md: binaries, detection cascade, gateway states, no-exit policy, on-disk state, installer, compat baseline - CI consistency job: version.h vs Makefile parity gate
52 lines
2.2 KiB
YAML
52 lines
2.2 KiB
YAML
name: ci
|
|
on: [push, pull_request]
|
|
jobs:
|
|
host:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: host unit tests
|
|
run: make -C tests clean && make -C tests test
|
|
- name: ASan/UBSan
|
|
run: make -C tests asan
|
|
- name: e2e contracts
|
|
run: python3 tests/e2e_consumer.py
|
|
env:
|
|
ORBISRPC_STRICT_SECRETS: "1"
|
|
sdk-payload:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: install llvm
|
|
run: sudo apt-get update -qq && sudo apt-get install -qy llvm lld
|
|
- name: fetch ps4-payload-sdk
|
|
run: |
|
|
curl -sL -o /tmp/sdk.zip https://github.com/ps4-payload-dev/sdk/releases/latest/download/ps4-payload-sdk.zip
|
|
mkdir -p ~/ps4-payload-sdk && unzip -q -o /tmp/sdk.zip -d ~/ps4-payload-sdk
|
|
- name: build SDK daemon payload
|
|
run: |
|
|
export PS4_PAYLOAD_SDK="$HOME/ps4-payload-sdk/ps4-payload-sdk"
|
|
export PATH="/usr/lib/llvm-14/bin:$PATH"
|
|
./scripts/build_sdk.sh
|
|
- name: gate daemon-world linkage only
|
|
run: |
|
|
export LLVM_READELF="$(command -v llvm-readelf || echo /usr/lib/llvm-14/bin/llvm-readelf)"
|
|
NEEDED=$("$LLVM_READELF" -d build-sdk/orbisrpc_sdk.elf | grep NEEDED | sed 's/.*\[//;s/\]//')
|
|
echo "$NEEDED"
|
|
echo "$NEEDED" | grep -q libkernel_web.sprx || { echo "missing libkernel_web"; exit 1; }
|
|
echo "$NEEDED" | grep -q libSceLibcInternal.sprx || { echo "missing libSceLibcInternal"; exit 1; }
|
|
echo "$NEEDED" | grep -q libSceNet.sprx || { echo "missing libSceNet"; exit 1; }
|
|
if echo "$NEEDED" | grep -q 'libkernel\.so'; then echo "FORBIDDEN: app-world libkernel.so"; exit 1; fi
|
|
echo "linkage OK"
|
|
consistency:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: version parity (version.h vs installer Makefile)
|
|
run: |
|
|
V_H=$(grep -oE '#define ORBISRPC_VERSION "[^"]+"' orbisrpc/version.h | cut -d'"' -f2)
|
|
V_MK=$(grep -oE '^VERSION[[:space:]]*:=.*' installer/Makefile | sed 's/.*:= *//')
|
|
echo "version.h=$V_H Makefile=$V_MK"
|
|
[ -n "$V_H" ] && [ "$V_H" = "$V_MK" ] || { echo "VERSION MISMATCH"; exit 1; }
|
|
echo "versions match"
|