Skip to content

ci: add build verification and server tests - #1139

Open
Paulo-Camacho wants to merge 2 commits into
getmaxun:developfrom
asherdrake:chore/add-ci-build-verification
Open

ci: add build verification and server tests#1139
Paulo-Camacho wants to merge 2 commits into
getmaxun:developfrom
asherdrake:chore/add-ci-build-verification

Conversation

@Paulo-Camacho

@Paulo-Camacho Paulo-Camacho commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a GitHub Actions CI workflow for PRs and pushes to develop
  • add root npm test / npm run test:server scripts
  • add a first server unit test suite using Node's built-in test runner
  • build maxun-core in CI so changes under the local core package get coverage too

Why

The repository currently does not have a first party CI workflow or test suite. This starts with a small baseline so future PRs can get automatic install, build, and test feedback without introducing a larger test framework decision yet.

The first test target is intentionally narrow: output-validation is pure server logic and does not require browser, database, MinIO, or Docker setup.

Notes

  • The workflow uses Node 22 to match the repo Dockerfiles.
  • The install step uses npm ci --legacy-peer-deps, matching the existing Dockerfile install convention.
  • I left lint out of this first pass because npm run lint currently points at ./node_modules/.bin/eslint, but eslint is not listed in the root package manifest.
  • I included a maxun-core build step because the backend currently consumes maxun-core from npm, while this repository also contains local maxun-core source.

Questions for maintainers

Is this kind of small CI/test baseline be welcome as a foundation? If there are constraints around CI runtime, test framework preference, or how maxun-core changes should be validated from this repo, I am happy to adjust the approach.

Validation

  • npm test
  • npm ci --prefix maxun-core && npm run build --prefix maxun-core
  • npm run build
  • git diff --check

Summary by CodeRabbit

  • Tests

    • Added automated coverage for validating robot output formats and interpreting search execution errors.
    • Added server-focused test commands to build the server first, then run the Node test runner.
  • Chores

    • Added continuous integration workflow for pull requests and pushes on the development branch, including dependency installation, server/core/frontend builds, and running the test suite.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 505be04f-0d54-4d55-a619-f73f736b7ca1

📥 Commits

Reviewing files that changed from the base of the PR and between 48d6b22 and ca20696.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/ci.yml

Walkthrough

Adds server test commands and output-validation coverage, then introduces a GitHub Actions workflow that runs tests and builds the server, maxun-core, and frontend.

Changes

CI and server validation

Layer / File(s) Summary
Server test commands and output validation coverage
package.json, tests/server/utils/output-validation.test.js
Adds test scripts and coverage for interpretation failure extraction and robot output validation across search, crawl, and other robot types.
GitHub Actions test and build pipeline
.github/workflows/ci.yml
Runs on develop branch pushes and pull requests, installs dependencies with Node.js 22, executes server tests, and builds maxun-core and the frontend.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Poem

A rabbit taps CI in the rain,
Tests hop through logs without a stain.
Builds rise tall, green and bright,
Node follows the path just right.
“Ship the checks!” the bunny sings.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding CI build verification and server tests.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Paulo-Camacho
Paulo-Camacho marked this pull request as ready for review July 15, 2026 21:25

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/ci.yml:
- Around line 24-25: Update the actions/checkout@v4 step to disable credential
persistence by configuring its persist-credentials input as false; leave the
rest of the workflow unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 45551ee5-f358-4890-9f3e-e4cc4bb10f3b

📥 Commits

Reviewing files that changed from the base of the PR and between 4731cce and 48d6b22.

📒 Files selected for processing (3)
  • .github/workflows/ci.yml
  • package.json
  • tests/server/utils/output-validation.test.js

Comment thread .github/workflows/ci.yml
This workflow only reads the repository. Program does not need token, so don't leave it in .git/config.
@Paulo-Camacho

Copy link
Copy Markdown
Contributor Author

I took CodeRabbit's suggestions. I hardened the workflow / checkout step (persist-credentials: false). Local validation passes. Since this is the initial CI/testbasline for this project, I am happy to adjust the flow and workflow shape if the maintainers prefer a different direction.

@amhsirak amhsirak added the Status: In Review This PR/issue is being reviewed label Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Status: In Review This PR/issue is being reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants