mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
874df9b5bb
Retire the setup-host release model (CI wiped generated/ and shipped
emitters + sources + a wizard so every player regenerated and rebuilt the
title). Titles now commit generated/ and CI ships the compiled game.
- docs/ci/templates/game-release.yml replaces setup-release.yml: gate on
committed game C (tools/ci/check_generated.sh), emit the OpenBIOS backend
in CI (tools/ci/generate_openbios.sh), configure with
PSXRECOMP_REQUIRE_GAME_C=ON and assert the full path was taken, package
with tools/package_game_release.sh, verify the zip is a game not a kit.
- tools/package_game_release.sh: exe, assets, bundled OpenBIOS, configs, mod
catalog + overlay toolchain via release_stage.py, notices; refuses sources,
emitters, generated C, BIOS dumps. clear_generated.sh removed;
package_setup_host.sh marked retired.
- Scaffold: gitignore templates track generated/, package_release.sh.in
wrapper, setup_project.{sh,ps1} commit generated/ after Generate.
- Project Studio: audit flags ignored/untracked generated/, retail BIOS C
and setup-host workflows; merge_gitignore un-ignores generated/; ops emit
the bundled packager + workflow; generate_ci uses the new template.
- Docs: docs/ci/BUNDLED_RELEASES.md replaces HOST_ONLY_RELEASES.md.
- Tests: tools/tests/test_bundled_release_layout.py; fix pre-existing
false positives in the packager-surface and overlay-static tests.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
87 lines
1.8 KiB
Plaintext
87 lines
1.8 KiB
Plaintext
# Suggested .gitignore for a PSXRecomp game repository.
|
|
# setup_project copies the New Project Layout equivalent (gitignore.in).
|
|
# Adjust title-specific disc dirs (e.g. /motk/ /bpe/) if you use them.
|
|
|
|
# Build outputs
|
|
/build/
|
|
/build-*/
|
|
/out/
|
|
/.happypath/
|
|
|
|
# generated/ is COMMITTED: releases ship the compiled game, and CI builds it
|
|
# from the game C in this repo (psxrecomp_cli.py generate, then git add
|
|
# generated). Never ignore it. Only the framework submodule's own generated/
|
|
# (BIOS backends) stays untracked, and that is the submodule's rule.
|
|
# psxrecomp_cli.py work areas (overlay toolchain download, static overlay
|
|
# shard evidence -- the latter holds bytes read from the disc).
|
|
/.cache/
|
|
|
|
# Release packaging
|
|
/release-stage/
|
|
/dist/
|
|
*.zip
|
|
|
|
# Local PlayStation assets (never commit)
|
|
/bios/
|
|
/isos/
|
|
/saves/
|
|
/prepared_disc/
|
|
/disc/
|
|
.settings/
|
|
|
|
# Disc / image / memcard formats
|
|
*.bin
|
|
*.cue
|
|
*.iso
|
|
*.img
|
|
*.sub
|
|
*.ccd
|
|
*.mcd
|
|
*.mcr
|
|
*.chd
|
|
*.car
|
|
SCPH*.BIN
|
|
|
|
bios.cfg
|
|
disc.cfg
|
|
rom.cfg
|
|
settings.toml
|
|
|
|
# Local analysis scratch — GPU frame captures / parity dumps (the default
|
|
# --out for tools/gpu_frame_*.py and gpu_parity.py) and asset rips pulled off
|
|
# the disc. Multi-hundred-MB binaries land here and are rejected by GitHub's
|
|
# 100 MB blob limit, and ripped disc content must never be committed at all.
|
|
/analysis/
|
|
|
|
# Ghidra / local analysis
|
|
/ghidra/projects/
|
|
*.gpr
|
|
*.rep/
|
|
*.lock
|
|
*.lock~
|
|
|
|
# Editor / cache
|
|
.vs/
|
|
.vscode/
|
|
*.user
|
|
*.log
|
|
.DS_Store
|
|
__pycache__/
|
|
|
|
# Runtime artifacts from psx-runtime launches
|
|
psx_crash.txt
|
|
psx_last_run_report.json
|
|
psx_screenshot.bmp
|
|
psx_freeze_heartbeat.json
|
|
.psxrecomp_last_generate
|
|
.psxrecomp_write_probe
|
|
starvation_dump.jsonl
|
|
|
|
# Diagnostic dumps (root-level) — keep catalog / probe trackable
|
|
/*.json
|
|
/*.bmp
|
|
/*.png
|
|
!/catalog_identity.json
|
|
!/disc_probe.json
|
|
!/.recomp.json
|