Skip to content

Conversation

@GhostTypes
Copy link
Member

Summary

Adds automated E2E testing for all 6 binary platforms (Windows x64, macOS x64/ARM64, Linux x64/ARM64/ARMv7). The workflow validates binary builds and basic functionality on every push/PR.

What's Tested

  • Build validation: Binary size check (>40MB to ensure assets are embedded)
  • Startup validation: Log file checks for errors (Linux/macOS)
  • API tests: Auth status, index.html serving, login endpoint
  • Cleanup verification: Process termination and zombie process checks

Platform-Specific Notes

  • ARMv7: Cross-compiled binary, execution tests skipped (cannot run on x64 runner)
  • Windows: Uses PowerShell for process management, API tests provide validation
  • Linux/macOS: Full log file validation and PID tracking

Add automated E2E testing for Windows, macOS, and Linux builds (x64,
ARM64, ARMv7). The workflow validates binary builds, startup, API
endpoints, and graceful shutdown across all platforms.
Update workflow triggers to run on all branches and PRs, not just main.
The auth status endpoint returns authRequired, not authenticated.
Update test to validate JSON structure instead.
- Skip execution tests for ARMv7 (cannot run on x64 runner)
- Fix macOS stat command format (-f%z not -f%)
- Fix Windows Start-Process parameters
- Fix API test to validate JSON structure properly
- Add can_execute matrix flag for cross-compiled binaries
- Use cmd.exe for background process start with proper redirection
- Force bash shell for summary generation (PowerShell incompatible)
Skip log file validation on Windows (Git Bash doesn't handle
background process I/O redirection reliably). Instead:
- Use start /b to launch process
- Verify process is running via tasklist
- Kill process via taskkill
- API tests provide actual validation

Linux/macOS continue with full log validation.
Git Bash cannot properly execute 'start /b' command. Use
PowerShell Start-Process with -WindowStyle Hidden instead,
which properly detaches the process and returns immediately.
Remove problematic tasklist checks on Windows. API tests
provide sufficient validation - if they pass, the binary
started successfully. Can improve Windows checks later.
@gemini-code-assist
Copy link

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

@GhostTypes GhostTypes closed this Jan 28, 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.

2 participants