chore: add agent smoke test workflows for CI and nightly runs#187
chore: add agent smoke test workflows for CI and nightly runs#187guillaumejparis wants to merge 1 commit into
Conversation
|
🤖 [AI-generated] Hey @guillaumejparis! 👋 I'm Sam, your convention guardian. I reviewed PR #187 and here's what I adjusted: 🏷️ Labels
📋 PR Description QualityOverall: Incomplete ❌ I haven't changed anything in your description — just flagging a few things to improve when you get a chance 🙏
Thanks for contributing! 🚀 |
There was a problem hiding this comment.
Pull request overview
Adds GitHub Actions workflows to run cross-platform “smoke tests” for released agent binaries on both PRs and a nightly schedule, factoring the smoke-test logic into a reusable composite action.
Changes:
- Add a nightly scheduled workflow running an OS/arch runner matrix for agent smoke testing.
- Add a PR-level smoke-test job to the existing CI workflow (smaller “latest runners” matrix).
- Introduce a composite action that downloads the released agent binary from JFrog, writes a smoke-test config, and runs the smoke test.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 9 comments.
| File | Description |
|---|---|
| .github/workflows/nightly-ci.yml | New scheduled workflow to run agent smoke tests across a broader runner matrix nightly and on manual dispatch. |
| .github/workflows/agent-ci.yml | Adds a PR-level smoke-test job using the composite action on a smaller runner matrix. |
| .github/actions/agent-implant-smoke/action.yml | New composite action implementing the download/configure/run smoke-test procedure. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if: inputs.os != 'windows' | ||
| shell: bash | ||
| run: | | ||
| set +e |
| if grep -qiE "$PATTERN" "$log_file"; then | ||
| echo "✅ $binary: connection error detected (binary starts correctly)" | ||
| else | ||
| echo "❌ $binary: no connection error found in logs" | ||
| return 1 | ||
| fi |
| if ($allLogs -match $pattern) { | ||
| Write-Host "✅ ${Binary}: connection error detected (binary starts correctly)" | ||
| return $true | ||
| } else { | ||
| Write-Host "❌ ${Binary}: no connection error found in logs" | ||
| return $false | ||
| } |
| description: > | ||
| Downloads the openaev-agent binary from JFrog, launches it with a fake | ||
| config pointing at localhost:1, and asserts it fails with a connection | ||
| error (proving the binary starts and reaches the network layer). |
|
|
||
| jobs: | ||
| # ────────────────────────────────────────────────────────────────── | ||
| # Agent & Implant smoke tests — full OS/arch/version matrix. |
| # config pointing at localhost:1, and asserts they produce a | ||
| # connection error (proving startup + network-layer reach). | ||
| # | ||
| # 13 runners covering all supported OS versions and architectures. |
| - name: Run agent & implant smoke tests | ||
| uses: ./.github/actions/agent-implant-smoke | ||
| with: | ||
| os: ${{ matrix.os }} | ||
| jfrog-arch: ${{ matrix.jfrog-arch }} |
| # Agent & Implant smoke tests (PR-level, latest runners only). | ||
| # | ||
| # Downloads released binaries from JFrog, starts them with a fake | ||
| # config pointing at localhost:1, and asserts they produce a | ||
| # connection error (proving startup + network-layer reach). |
| - name: Run agent & implant smoke tests | ||
| uses: ./.github/actions/agent-implant-smoke | ||
| with: | ||
| os: ${{ matrix.os }} | ||
| jfrog-arch: ${{ matrix.jfrog-arch }} |
Proposed changes
Testing Instructions
Related issues
Checklist
Further comments