Skip to content

chore(release): add one-command player builds - #555

Merged
VPDPersonal merged 4 commits into
mainfrom
claude/project-thread-xb4obh
Oct 24, 2026
Merged

VPDPersonal merged 4 commits into
mainfrom
claude/project-thread-xb4obh

Conversation

@VPDPersonal

@VPDPersonal VPDPersonal commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Important

  • After the merge, merge main into the release PR chore(release): v1.0.0 #515. Neither the package nor the CHANGELOGs change, so the release hold is not affected.

Why

The player-build QA of a stable release was done by hand for 1.0.0: Mono and IL2CPP, a non-development build, SerializableType under IL2CPP stripping, and one standalone plus one AOT target. Now one command runs it.

What

  • scripts/player-builds.sh [--targets …] <dir> [unity-version] builds a throwaway project from make-unity-test-project.sh for four targets: Mac Mono, Mac IL2CPP (Minimal and High) and the iOS Simulator (IL2CPP High). It runs each player, reads its AOTCHECK lines and prints a table. It exits with 1 when a target fails or is skipped.
  • Aspid.FastTools/Assets/PlayerBuildCheck~/ holds a probe component and an Editor builder. The probe logs how its SerializableType fields resolve: required fields (a [Preserve] class, Transform, List<int>) and reference fields that stripping is expected to remove. It also logs ENABLE_PROFILER and DEVELOPMENT_BUILD. Unity does not import the folder, the same as SampleTests~.
  • The repo skill /asp-ft-player-builds runs the script and explains how to read the table. asp-ft-release and Aspid.FastTools/AGENTS.md point to it.
  • A missing Unity module (mac-il2cpp, ios) skips its target and prints the Unity Hub install command.

Start with: scripts/player-builds.sh

Verification
  • A full run from scratch on Unity 6000.0.53f1 (macOS, Xcode 27) took 172 s and exited with 0:
    TARGET               BUILD      ERR/WARN  AOTCHECK  PROFILER     REFERENCE MISSING
    mac-mono             Succeeded  0/0       3/3       off dev=off  none
    mac-il2cpp-minimal   Succeeded  0/0       3/3       off dev=off  strippedEngine
    mac-il2cpp-high      Succeeded  0/0       3/3       off dev=off  plain,samplePattern,samplePatternInstance,strippedEngine
    ios-sim              Succeeded  0/0       3/3       off dev=off  plain,samplePattern,samplePatternInstance,strippedEngine
    
  • node --test scripts/*.test.mjs passes 141/141.
  • check-skills, check-package-files, check-samples, check-version and check-unity-minimum pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01T2kWtnmRdgnk2YsZd4MdvY

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T2kWtnmRdgnk2YsZd4MdvY
@VPDPersonal VPDPersonal added the no-changelog User-visible change that needs no CHANGELOG entry label Oct 24, 2026 — with Claude
@github-actions github-actions Bot added the type: chore Maintenance, version bumps, tooling label Oct 24, 2026
@VPDPersonal VPDPersonal self-assigned this Oct 24, 2026
VPDPersonal and others added 2 commits October 24, 2026 18:21
- scripts/player-builds.sh builds Mac Mono, Mac IL2CPP (Minimal, High) and the iOS Simulator, runs the players and
  prints the AOTCHECK table.
- The asp-ft-player-builds skill runs it and reads the table; asp-ft-release and AGENTS.md point to it.
- PlayerBuilds appends to builds.tsv, so the Mac and iOS Editor runs keep both results.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T2kWtnmRdgnk2YsZd4MdvY
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T2kWtnmRdgnk2YsZd4MdvY
@github-actions github-actions Bot added area: ci CI / GitHub Actions workflows area: claude Agent tooling: .claude/, skills/, AGENTS.md labels Oct 24, 2026
@VPDPersonal
VPDPersonal marked this pull request as ready for review October 24, 2026 15:22
Comment thread scripts/player-builds.sh Resolved
Comment thread scripts/player-builds.sh Resolved
@claude

claude Bot commented Oct 24, 2026

Copy link
Copy Markdown

Verdict: 0 blocking, 3 minor
All three findings are in the error paths of scripts/player-builds.sh: an abort under set -e, arm64-only players and target-id validation.

…simulator errors

- Check every --targets id against the known list before the project is made.
- A failed simctl boot or install leaves ios-sim at no-run instead of ending the run under set -e.
- Stop early on a non-arm64 Mac and name Apple Silicon in the header and the skill.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T2kWtnmRdgnk2YsZd4MdvY
@VPDPersonal
VPDPersonal merged commit a6c137d into main Oct 24, 2026
27 checks passed
@VPDPersonal
VPDPersonal deleted the claude/project-thread-xb4obh branch October 24, 2026 15:32
VPDPersonal pushed a commit that referenced this pull request Oct 24, 2026
Brings in #555 (one-command player builds). No conflicts.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T2kWtnmRdgnk2YsZd4MdvY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI / GitHub Actions workflows area: claude Agent tooling: .claude/, skills/, AGENTS.md no-changelog User-visible change that needs no CHANGELOG entry type: chore Maintenance, version bumps, tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants