Skip to content

ci: matrix build and test on linux, macos, and windows - #82

Merged
rmems merged 2 commits into
mainfrom
cursor/ci-os-matrix-62e4
Sep 15, 2026
Merged

rmems merged 2 commits into
mainfrom
cursor/ci-os-matrix-62e4

Conversation

@rmems

@rmems rmems commented Sep 13, 2026

Copy link
Copy Markdown
Member

User description

Summary

  • Run Build & Test on ubuntu-latest, macos-latest, and windows-latest with fail-fast: false and ${{ matrix.os }} in the job name (parity with neuromod / axon-encoder / silicon-bridge).
  • Keep Linux-only the steps that must stay Linux: cargo fmt --check, musl cargo-deny install + cargo deny --locked check, rustdoc, tarpaulin, and Codecov upload. Codecov was already wired; this does not duplicate it on macOS/Windows.
  • MSRV job stays Ubuntu + Rust 1.98.1. Action SHA pins are unchanged.

Changes

  • .github/workflows/ci.yml — OS matrix; Linux if: on fmt/deny/doc/coverage; shell: bash on the cargo-deny install script
  • README.md, AGENTS.md, CLAUDE.md, CHANGELOG.md — document the three-OS matrix and Linux-only coverage/deny/fmt/docs

Testing

  • Local: workflow YAML + docs-only change; no src/ edits
  • CI on 2b4b2ce (run 34781701046):
    • Build & Test (ubuntu-latest) pass — fmt, deny, docs, tarpaulin, Codecov
    • Build & Test (macos-latest) pass — Linux-only steps skipped
    • Build & Test (windows-latest) pass — git deps fetched; Linux-only steps skipped
    • MSRV (1.98.1) pass
  • Coverage stayed Linux-only (one Codecov upload). No matrix failures.
  • Follow-up eb242f3 rewords the CHANGELOG Linux-only reasons (cubic P3).

Notes

Open in Web Open in Cursor 

Summary by cubic

Runs clippy, build, and test on ubuntu-latest, macos-latest, and windows-latest with fail-fast: false so platform-specific regressions surface in CI instead of only on developer machines.

  • cargo fmt --check, musl cargo-deny, rustdoc, and tarpaulin/Codecov stay Linux-only; fmt/docs save runner minutes, and coverage is uploaded once, not duplicated per OS.
  • Job names now include ${{ matrix.os }} so failures are attributable per OS.
  • The MSRV job stays on Ubuntu with Rust 1.98.1; action SHA pins are unchanged.
  • README.md, AGENTS.md, CLAUDE.md, and CHANGELOG.md now document the three-OS matrix and why the Linux-only steps stay Linux-only.
  • The feature-matrix cells (--no-default-features vs --features critic) remain unenforced in CI — see test: publishable feature matrix and optional integration paths #46.

Written for commit 0a63d45. Summary will update on new commits.

Review in cubic


CodeAnt-AI Description

Run core CI checks on Linux, macOS, and Windows

What Changed

  • Build, lint, and test checks now run on Ubuntu, macOS, and Windows without one platform failure stopping the others.
  • Formatting, dependency license and advisory checks, documentation checks, and coverage remain Linux-only.
  • Project documentation now explains the supported CI platforms and which checks run only on Linux.

Impact

✅ Cross-platform build validation
✅ Fewer platform-specific regressions
✅ Single Linux coverage report

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

@codeant-ai

codeant-ai Bot commented Sep 13, 2026

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Incremental review completed 0a63d45 Sep 15, 2026 · 01:50 01:50
✅ Reviewed your PR 2b4b2ce Sep 13, 2026 · 20:44 20:45

@codeant-ai

codeant-ai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Essentials

Run ID: 9522b259-b95c-4664-b905-fd88a5e89838

📥 Commits

Reviewing files that changed from the base of the PR and between eb242f3 and 0a63d45.

📒 Files selected for processing (4)
  • .github/workflows/ci.yml
  • AGENTS.md
  • CHANGELOG.md
  • README.md

Included review availability: 3 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 4 reviews per hour.


📝 Summary

Summary by CodeRabbit

  • CI Improvements

    • Build, test, and Clippy validation now runs on Ubuntu, macOS, and Windows.
    • Cross-platform validation continues after failures on individual platforms.
    • Formatting, dependency, documentation, and coverage checks remain Linux-only.
    • Linux-only tools are installed only when needed.
  • Documentation

    • Updated the README, changelog, and contributor guidance to reflect expanded platform coverage and platform-specific checks.

Walkthrough

The validation workflow now runs builds, tests, and Clippy on Ubuntu, macOS, and Windows. Formatting, dependency checks, documentation, coverage, and Codecov remain Linux-only. Repository documentation reflects this split.

Changes

Cross-platform CI validation

Layer / File(s) Summary
Workflow matrix and platform gates
.github/workflows/ci.yml
The validation job uses Ubuntu, macOS, and Windows. Cross-platform steps run on every OS. Formatting, cargo-deny, rustdoc, tarpaulin, and Codecov run only on Linux.
CI coverage documentation
AGENTS.md, CHANGELOG.md, CLAUDE.md, README.md
Documentation describes the three-OS validation matrix and the Linux-only checks.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~15 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 0a63d

The cross-platform CI configuration and its documentation have no remaining identified merge-blocking issue.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: running CI builds and tests across Linux, macOS, and Windows.
Description check ✅ Passed The description directly explains the cross-platform CI matrix, Linux-only checks, MSRV coverage, documentation updates, and test results.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch cursor/ci-os-matrix-62e4

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

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 13, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-13T20:47:02.010733Z 2b4b2ce PR opened
🔒 Security Review Completed 2026-09-13T20:47:12.476834Z 2b4b2ce PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@rmems rmems added ci documentation Improvements or additions to documentation enhancement New feature or request GitHub Actions CI/CD size:M This PR changes 30-99 lines, ignoring generated files labels Sep 13, 2026 — with Cursor
@rmems rmems self-assigned this Sep 13, 2026
@rmems

rmems commented Sep 13, 2026

Copy link
Copy Markdown
Member Author

Build & Test is now a three-OS matrix (ubuntu-latest / macos-latest / windows-latest, fail-fast: false).

Linux-only (intentionally):

  • cargo fmt --check
  • musl cargo-deny install + cargo deny --locked check
  • rustdoc (RUSTDOCFLAGS=-D warnings)
  • tarpaulin coverage + Codecov upload (already wired; not duplicated on macOS/Windows)

All three OSes run clippy, cargo build --all-features, and cargo test --all-features against the existing git deps (neuromod, limbic-critic). MSRV stays Ubuntu + 1.98.1.

Please treat this PR as review-only — do not merge from this bot.

Cited by: Crates.io handler (Grok Bot)

@amazon-q-developer amazon-q-developer Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR successfully implements multi-OS CI testing for Linux, macOS, and Windows. The implementation correctly restricts platform-specific tools (fmt, cargo-deny, rustdoc, tarpaulin/Codecov) to Linux-only execution while running the core build and test steps across all three platforms with fail-fast: false. The documentation updates accurately reflect the CI changes. No blocking issues identified.


You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@codecov

codecov Bot commented Sep 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 5 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread CHANGELOG.md Outdated
@rmems

rmems commented Sep 13, 2026

Copy link
Copy Markdown
Member Author

Matrix result on 2b4b2ce (Actions run 34781701046):

Job Result Notes
Build & Test (ubuntu-latest) pass (51s) fmt, deny, docs, tarpaulin, Codecov upload all ran
Build & Test (macos-latest) pass (37s) Linux-only steps skipped
Build & Test (windows-latest) pass (1m30s) git deps (neuromod, limbic-critic) fetched; Linux-only steps skipped
MSRV (1.98.1, Ubuntu) pass unchanged

No matrix failures. Coverage stayed Linux-only (one Codecov upload). Please keep this PR unmerged.

Cited by: Crates.io handler (Grok Bot)

@rmems rmems added the chore label Sep 13, 2026
@rmems rmems added this to the v0.2 — Hardening & honesty milestone Sep 13, 2026
coderabbitai[bot]
coderabbitai Bot previously approved these changes Sep 13, 2026
Run clippy, build, and test on ubuntu-latest, macos-latest, and
windows-latest with fail-fast: false. Keep fmt, musl cargo-deny,
rustdoc, and tarpaulin/Codecov on Linux only so coverage is not
duplicated.

Cited by: Limen-Neural (Grok Bot)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Attribute fmt/docs to runner minutes, cargo-deny to the musl
binary, and tarpaulin/Codecov to not duplicating coverage.

Cited by: Limen-Neural (Grok Bot)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
@deepsource-io

deepsource-io Bot commented Sep 15, 2026

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in f19b8da...0a63d45 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
Rust Sep 15, 2026 1:50a.m. Review ↗
Secrets Sep 15, 2026 1:50a.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

@rmems
rmems merged commit cd3a3d9 into main Sep 15, 2026
11 checks passed
@rmems
rmems deleted the cursor/ci-os-matrix-62e4 branch September 15, 2026 03:30
@linear-code

linear-code Bot commented Sep 15, 2026

Copy link
Copy Markdown

LIM-1205

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore ci documentation Improvements or additions to documentation enhancement New feature or request GitHub Actions CI/CD size:M This PR changes 30-99 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants