Skip to content

joryirving/windowstead #79: Add macOS validation to pull-request CI - #82

Closed
itsmiso-ai wants to merge 1 commit into
mainfrom
fix/issue-79-add-macos-ci-validation
Closed

joryirving/windowstead #79: Add macOS validation to pull-request CI#82
itsmiso-ai wants to merge 1 commit into
mainfrom
fix/issue-79-add-macos-ci-validation

Conversation

@itsmiso-ai

Copy link
Copy Markdown
Contributor

Fixes #79. Add a lightweight macOS validation job to the PR CI workflow.

The new job:

  • Downloads the macOS Godot 4.2.2 universal binary from the official godot-builds releases
  • Verifies the binary runs ()
  • Runs the same headless smoke test on macOS to catch parser/runtime/script errors

This complements the existing Linux jobs without replacing them, keeping the macOS path lightweight (no export/release packaging). The goal is to catch macOS-specific GDScript and runtime regressions before manual prerelease testing.

Add a lightweight macOS validation job that:
- Downloads the macOS Godot 4.2.2 universal binary
- Verifies the binary runs
- Runs the same headless smoke test on macOS

This catches macOS-specific parser/runtime regressions that Linux CI
doesn't detect, while keeping the macOS job lighter than full
export/release workflows.
@smurf-bot

smurf-bot Bot commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Automated recommendation: APPROVE

Analysis engine: MiniMax-M2.7@https://api.minimax.io/v1

Review Summary

Recommendation: Approve

This PR adds a macOS validation job to the PR CI workflow, fully addressing issue #79. The implementation is well-structured and follows existing patterns in the repository.

Change-by-Change Findings

1. New Environment Variable

  • Added GODOT_MACOS_URL pointing to Godot_v4.2.2-stable_macos.universal.zip
  • Version matches existing GODOT_VERSION: 4.2.2 and GODOT_STATUS: stable
  • Source verification: Binary confirmed accessible at the official godot-builds releases (binary content shows valid ZIP structure with Godot.app/Contents/MacOS/Godot)

2. New macos-validation Job

  • Runs on macos-latest
  • Steps mirror the existing Linux validation pattern:
    • Checkout code
    • Download Godot binary to .tools/
    • Make binary executable
    • Verify binary runs (--version)
    • Run headless smoke test with error detection

3. Error Detection Logic

  • Uses timeout 15 for a bounded 5-second headless run (in context of --quit-after 300)
  • Greps output for SCRIPT ERROR|ERROR: patterns to catch GDScript warnings and runtime errors
  • Exits with code 1 on errors, mirroring the pattern noted in AGENTS.md: "macOS runtime validation has also been important in this repo because GDScript warnings are treated as errors in practice"

Standards Compliance

Requirement Status
Works in .github/workflows/test.yml
Narrow macOS PR-validation job
Lighter than full export/release workflow
Uses repo's existing Godot version (4.2.2 stable)
Validates parser/runtime/script errors on macOS
Preserves existing Linux job

Linked Issue Fit

All acceptance criteria from #79 are met:

  • ✅ Pull requests run a macOS validation job in CI
  • ✅ The macOS job catches project/parser/runtime script failures before release builds
  • ✅ The validation path is lighter-weight than the full release export workflow
  • ✅ Linux PR validation remains intact

Unknowns or Needs Verification

None. All evidence is complete:

  • Godot 4.2.2 stable macOS universal binary URL verified accessible
  • Workflow syntax is valid YAML
  • Job structure follows established patterns from existing Linux jobs
  • No breaking changes to existing functionality

@itsmiso-ai

Copy link
Copy Markdown
Contributor Author

Closing duplicate - multiple PRs for the same issue exist.

@itsmiso-ai itsmiso-ai closed this Apr 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add macOS validation to pull-request CI

1 participant