Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 5 additions & 21 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@
# - SCPH1001.BIN + motk/*.cue|*.bin (Git LFS) for per-OS intro PGO train
# Players still pick BIOS + disc at first launch; neither is in the zip.
#
# Framework deps (not MotK gitlink pins):
# - mstan/psxrecomp@master
# - MotK-root recomp-ui@master
# - nested recomp-net@main (engine transport; float past upstream pin)
# Framework deps use this repository's exact gitlink pins:
# - psxrecomp at the game root (which owns its recomp-net pin)
# - recomp-ui at the game root
#
# All matrix packages are PGO-trained on the MotK intro (instrument → train →
# use) on that runner's toolchain (GCC .gcda on Linux/Windows; Clang
Expand Down Expand Up @@ -75,28 +74,13 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
with:
# MotK gitlink pins are ignored — next step takes upstream master.
submodules: false
submodules: recursive
fetch-depth: 1

- name: Checkout recomp-ui (game root) + psxrecomp upstream
- name: Record pinned framework revisions
shell: bash
run: |
set -euo pipefail
# Game-owned UI pin at repo root.
git submodule update --init --depth=1 recomp-ui
git -C recomp-ui fetch --depth=1 origin master
git -C recomp-ui checkout -f FETCH_HEAD

rm -rf psxrecomp
git clone --depth=1 --branch master \
https://github.com/mstan/psxrecomp.git psxrecomp
git -C psxrecomp submodule sync
# Engine keeps recomp-net only — not recomp-ui.
git -C psxrecomp submodule update --init --depth=1 lib/recomp-net
git -C psxrecomp/lib/recomp-net fetch --depth=1 origin main
git -C psxrecomp/lib/recomp-net checkout -f FETCH_HEAD

echo "psxrecomp=$(git -C psxrecomp rev-parse --short HEAD) ($(git -C psxrecomp rev-parse HEAD))"
echo "recomp-ui=$(git -C recomp-ui rev-parse --short HEAD)"
echo "recomp-net=$(git -C psxrecomp/lib/recomp-net rev-parse --short HEAD)"
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ GitHub Actions workflow: `.github/workflows/release.yml`
- Tag `v0.1.0` (matching `VERSION`): builds + GitHub Release with zips
- Packages include the exe, `assets/` (recomp-ui fonts/img), `game.toml`, and
`VERSION` — never BIOS/disc
- CI pulls **mstan/psxrecomp@master** + MotK-root **recomp-ui@master**, and
floats engine **recomp-net@main**
- CI builds the exact committed **psxrecomp**, game-root **recomp-ui**, and
nested **recomp-net** gitlink pins
- CI configures `-DRNET_ENABLE_ICE=ON` and `-DMOTK_NATIVE=OFF`. Every matrix
OS runs intro PGO train on that runner (needs LFS disc + `SCPH1001.BIN` in
`psxrecomp-ci-assets`; GCC `.gcda` on Linux/Windows, Clang profdata on macOS).
Expand Down
9 changes: 5 additions & 4 deletions scripts/package_release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,14 @@ cp -a "${EXE}" "${STAGE}/"

# recomp-ui POST_BUILD stages a flat assets/fonts + assets/img next to the exe.
# (Repo source layout is assets/common|consoles/ — do not pack that.)
if [[ ! -d "${BUILD_DIR}/assets/fonts" || ! -d "${BUILD_DIR}/assets/img" ]]; then
echo "error: ${BUILD_DIR}/assets/{fonts,img} missing — rebuild psx-runtime" >&2
EXE_DIR="$(dirname "${EXE}")"
if [[ ! -d "${EXE_DIR}/assets/fonts" || ! -d "${EXE_DIR}/assets/img" ]]; then
echo "error: ${EXE_DIR}/assets/{fonts,img} missing — rebuild psx-runtime" >&2
exit 1
fi
mkdir -p "${STAGE}/assets"
cp -a "${BUILD_DIR}/assets/fonts" "${STAGE}/assets/"
cp -a "${BUILD_DIR}/assets/img" "${STAGE}/assets/"
cp -a "${EXE_DIR}/assets/fonts" "${STAGE}/assets/"
cp -a "${EXE_DIR}/assets/img" "${STAGE}/assets/"

if [[ ! -f "${STAGE}/assets/fonts/LatoLatin-Regular.ttf" ]]; then
echo "error: assets/fonts incomplete (missing LatoLatin-Regular.ttf)" >&2
Expand Down