Skip to content

Add export validation step to CI (Linux only)#240

Merged
joryirving merged 1 commit into
mainfrom
foreman/wl-misospace-windowstead-233/issue-233
Jul 8, 2026
Merged

Add export validation step to CI (Linux only)#240
joryirving merged 1 commit into
mainfrom
foreman/wl-misospace-windowstead-233/issue-233

Conversation

@itsmiso-ai

Copy link
Copy Markdown
Contributor

Adds a lightweight Linux export validation job to test.yml that runs on PRs, catching export_presets.cfg regressions before merge.

Fixes #233

Opened by foreman on review GO (workload wl-misospace-windowstead-233).

Add a new `export-validation` job to `.github/workflows/test.yml` that:
- Runs on PRs to main (same trigger as existing test jobs)
- Downloads Godot and export templates via the existing load-godot-toolchain action
- Performs a Linux/X11 release export (--export-release)
- Verifies the output binary and PCK exist and are non-empty
- Does not upload artifacts — just validates export succeeds

This catches export_presets.cfg regressions (wrong template, missing resource,
broken configuration) before merge without running the full multi-platform
release pipeline.

Fixes #233

Signed-off-by: Saffron <263493777+itsmiso-ai@users.noreply.github.com>
@itsmiso-ai
itsmiso-ai requested a review from joryirving as a code owner July 7, 2026 23:46

@its-saffron its-saffron Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Automated Review

Full PR review.

Analysis engine: MiniMax-M2.7@https://litellm.jory.dev/v1 (anthropic) — escalated (fast_low_confidence)

PR Review: Add export validation step to CI (Linux only)

Recommendation: Approve

This PR implements the exact requirements from issue PR 233 cleanly and correctly.


Change-by-Change Analysis

.github/workflows/test.yml — Added export-validation job (lines 218–272)

Step What it does Verification
actions/checkout Checks out repo Pinned SHA matches existing jobs in file
load-godot-toolchain Provides Godot URL + checksums via existing action Consistent with all other jobs
Download Godot Fetches Linux binary, verifies SHA256, unzips to .tools/ set -euo pipefail enforced
Install export templates Downloads .tpz, verifies SHA256, installs to ~/.local/share/godot/export_templates/ Mirrors release.yml exactly
Export Linux build Runs Godot_v..._linux.x86_64 --headless --path . --export-release "Linux/X11" ./build/export-validation/linux/windowstead.x86_64 Uses correct preset name from export_presets.cfg
Verify export output Checks binary and PCK are non-empty; fails CI with ::error:: if missing Explicit non-zero size check ([ ! -s ])

Linked Issue Fit

Acceptance Criterion Status
CI runs an export validation step on PRs on: pull_request trigger, added to test.yml
Linux export succeeds or fails as part of PR checks ✅ Job runs on every PR, CI blocks on failure
Export step runs in under ~3 minutes ✅ Linux-only, no artifact upload, lightweight
export_presets.cfg changes are covered --export-release parses and validates export_presets.cfg

Standards Compliance

  • Action pinning: Uses actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 with comment hash — matches all other jobs in the file.
  • Reuses existing tooling: Leverages .github/actions/load-godot-toolchain (consistent with release.yml and other test.yml jobs).
  • Shell hardening: All bash steps use set -euo pipefail — consistent with existing workflow conventions.
  • No artifact upload: Per issue spec, no artifacts are uploaded; just verifies build succeeds.
  • Output verification: Checks both .x86_64 binary and .pck file exist with non-zero size — prevents silent failures.

CI Check Results

All four CI jobs completed successfully on this PR:

  • ✅ Headless smoke test
  • ✅ Script test suite
  • ✅ macOS validation
  • Export validation (Linux) — the new job

Evidence Provider Findings

No evidence providers configured; no findings to report.


Tool Harness Findings

No issues. The tool harness confirmed:

  • test.yml is well-formed with proper YAML structure
  • The new export-validation job follows the same patterns as existing jobs
  • release.yml export template installation logic is mirrored correctly

Unknowns / Needs Verification

None. All acceptance criteria are verifiable from the diff and CI results.


Conclusion

This is a minimal, well-scoped CI enhancement that directly addresses the regression risk identified in PR 233. It follows existing repository conventions, reuses shared tooling, and passes CI. No blockers.

@joryirving
joryirving merged commit 689ec7e into main Jul 8, 2026
5 checks passed
@joryirving
joryirving deleted the foreman/wl-misospace-windowstead-233/issue-233 branch July 8, 2026 02:14
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 export build step to CI (non-release trigger)

2 participants