-
Notifications
You must be signed in to change notification settings - Fork 34
feat: add GitHub Actions workflow for building and testing Merod on Windows #1721
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…eck for merobox run
… and consolidate it into the merod binary path step
…fine workflow file retrieval logic
| foreach ($logFile in $logFiles) { | ||
| Write-Host "`n=== Log: $($logFile.FullName) ===" | ||
| Get-Content $logFile.FullName -Tail 50 -ErrorAction SilentlyContinue | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Log collection happens after nuke may delete logs
Medium Severity
The Run-Workflow function collects node logs after executing merobox nuke --force, which likely deletes the data directories containing the logs. The existing Linux workflow in merobox-workflows.yml correctly collects logs before running nuke. This means when a workflow fails on Windows, the diagnostic log output will be empty because the files were already deleted, making it harder to debug failures.
| foreach ($logFile in $logFiles) { | ||
| Write-Host "`n=== Log: $($logFile.FullName) ===" | ||
| Get-Content $logFile.FullName -Tail 50 -ErrorAction SilentlyContinue | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Log collection searches wrong directory after Pop-Location
Low Severity
The log collection uses a relative path "data" to search for log files, but this executes after Pop-Location returns to the repository root. Since merobox likely creates data directories inside each app directory (e.g., apps/some-app/data/), the search will not find logs in the repo root's data directory. The path should reference $appDir or use an absolute path that accounts for the directory change.
|
This pull request has been automatically marked as stale. If this pull request is still relevant, please leave any comment (for example, "bump"), and we'll keep it open. We are sorry that we haven't been able to prioritize reviewing it yet. Your contribution is very much appreciated. |
[CI] Add Windows testing workflow for merod binary
Description
This PR adds a new GitHub Actions workflow to test that the merod binary compiles and runs correctly on Windows. The workflow builds the merod binary on Windows runners and verifies that nodes can be started using the native binary .
Test plan
Test steps:
merobox run --count 2 --no-docker --binary-path <path>to verify nodes start successfullyDocumentation update
No public documentation updates required.
Note
Introduces a Windows GitHub Actions workflow to build
merod, build app artifacts, and run all Merobox app workflows with the native Windows binary, including retries and failure reporting..github/workflows/merobox-workflows-windows.ymlwith triggers onpush,pull_requesttomaster, andworkflow_dispatch; concurrency enabledbuild-apps(cache Rust deps, build apps, cache artifacts),build-merod(compilemerod.exe, upload artifact),test(restore artifacts, verify DLL/runtime presence, set up Python and installmerobox, run allapps/**/workflows/*.ymlwith retry logic, collect logs, upload artifacts)commentjob that posts a summary of failed workflowsWritten by Cursor Bugbot for commit ddc8c99. This will update automatically on new commits. Configure here.