Skip to content

chore: add agent smoke test workflows for CI and nightly runs#187

Open
guillaumejparis wants to merge 1 commit into
mainfrom
chore/smoketest
Open

chore: add agent smoke test workflows for CI and nightly runs#187
guillaumejparis wants to merge 1 commit into
mainfrom
chore/smoketest

Conversation

@guillaumejparis

Copy link
Copy Markdown
Member

Proposed changes

Testing Instructions

  1. Step-by-step how to test
  2. Environment or config notes

Related issues

  • Closes #ISSUE-NUMBER

Checklist

  • I consider the submitted work as finished
  • I tested the code for its functionality
  • I wrote test cases for the relevant uses case
  • I added/update the relevant documentation (either on github or on notion)
  • Where necessary I refactored code to improve the overall quality
  • For bug fix -> I implemented a test that covers the bug

Further comments

Copilot AI review requested due to automatic review settings June 8, 2026 09:21
@github-actions github-actions Bot added the filigran team Item from the Filigran team. label Jun 8, 2026
@SamuelHassine

Copy link
Copy Markdown
Member

🤖 [AI-generated]

Hey @guillaumejparis! 👋 I'm Sam, your convention guardian. I reviewed PR #187 and here's what I adjusted:

🏷️ Labels

Action Label Reason
✅ Added filigran team A pull request must carry exactly one ownership label; you're a Filigran team member, so I added filigran team.

📋 PR Description Quality

Overall: Incomplete ❌

I haven't changed anything in your description — just flagging a few things to improve when you get a chance 🙏

Area Problem Suggestion
Proposed changes Section left as empty template bullets (*) Briefly describe what the new smoke-test workflows do (CI + nightly runs) and why.
Related issues Closes #ISSUE-NUMBER placeholder left unfilled Link this PR to its issue (e.g. Closes #123). Per the conventions, every PR must be linked to an issue.
Title Missing the required (#issue) reference at the end Once the issue exists, append it to the title, e.g. chore: add agent smoke test workflows for CI and nightly runs (#123). I left the title unchanged because I couldn't find an issue to reference and won't invent a number.
Checklist All items unchecked Tick the items that apply (e.g. tested functionality) to signal review readiness.

💡 For future PRs, please follow the contribution conventions and the title & label taxonomy.

Thanks for contributing! 🚀

Copilot AI 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.

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
Comment on lines +93 to +98
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
Comment on lines +142 to +148
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
}
Comment on lines +2 to +5
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.
Comment on lines +88 to +92
- name: Run agent & implant smoke tests
uses: ./.github/actions/agent-implant-smoke
with:
os: ${{ matrix.os }}
jfrog-arch: ${{ matrix.jfrog-arch }}
Comment on lines +403 to +407
# 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).
Comment on lines +445 to +449
- name: Run agent & implant smoke tests
uses: ./.github/actions/agent-implant-smoke
with:
os: ${{ matrix.os }}
jfrog-arch: ${{ matrix.jfrog-arch }}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

filigran team Item from the Filigran team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants