Files
psxrecomp/tools/generate_ci.ps1
T
Alex Vanderveen 874df9b5bb release: ship bundled, compiled games from committed generated/ C
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>
2026-09-30 17:11:14 -04:00

30 lines
1.0 KiB
PowerShell

<#
.SYNOPSIS
Write the bundled release workflow into an existing PSX project (Windows).
.DESCRIPTION
The logic is tools/generate_ci.py; this only finds Python and passes every
argument through, so there is one implementation to fix.
.EXAMPLE
powershell -File psxrecomp\tools\generate_ci.ps1 # cwd is the project
.EXAMPLE
powershell -File psxrecomp\tools\generate_ci.ps1 C:\src\MyGame --check
.EXAMPLE
powershell -File psxrecomp\tools\generate_ci.ps1 --force --zip-prefix mygame
#>
[CmdletBinding(PositionalBinding = $false)]
param(
[Parameter(ValueFromRemainingArguments = $true)][string[]]$Passthrough = @()
)
$ErrorActionPreference = "Stop"
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$py = Get-Command python3 -ErrorAction SilentlyContinue
if (-not $py) { $py = Get-Command python -ErrorAction SilentlyContinue }
if (-not $py) {
Write-Error "generate_ci: Python 3 is not on PATH."
exit 1
}
& $py.Source (Join-Path $ScriptDir "generate_ci.py") @Passthrough
exit $LASTEXITCODE