Skip to content

feat: detect oxlint and bun test gates in CI workflows - #532

Open
YuniorGlez wants to merge 1 commit into
ambient-code:mainfrom
YuniorGlez:feat/ci-bun-gates
Open

feat: detect oxlint and bun test gates in CI workflows#532
YuniorGlez wants to merge 1 commit into
ambient-code:mainfrom
YuniorGlez:feat/ci-bun-gates

Conversation

@YuniorGlez

@YuniorGlez YuniorGlez commented Aug 8, 2026

Copy link
Copy Markdown

Description

The CI Quality Gates assessor did not recognize two very common commands in Bun-based projects:

  • oxlint (the Rust-based linter from oxc.rs) — not in the lint patterns.
  • bun run test — the test gate matched npm/yarn-style invocations but not Bun's bun run test.

A Bun project with all three gates in CI (lint + test + typecheck, PR-triggered) scored fail with a 20/30 gate score.

Type of Change

  • New feature (non-breaking change which adds functionality)

Related Issues

No related issues (no existing Bun-support issue found; see sibling PRs #531, #533, #534).

Changes Made

  • lint_patterns: add oxlint.
  • test_patterns: add bun run test.
  • New unit test test_bun_workflow_passes: a workflow using oven-sh/setup-bun, bun install --frozen-lockfile, lint, bun run test and bunx tsc@7 --noEmit now passes.

Testing

  • Unit tests pass (pytest) — 23 passed (CI assessor suite), 178 total
  • Manual testing performed — verified against a real Bun repo (Next.js base template, CI gate 20/30 → 30/30)
  • No new warnings or errors — ruff clean

Checklist

  • My code follows the project's code style
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Additional Notes

Next.js 16, Vercel and a large share of new TS projects use Bun as their package manager; CI pipelines built around it should not be penalized for using its native commands.

Bun projects commonly run lint via oxlint and tests via `bun run test`
or `bunx vitest`. The lint/test gates previously only matched
eslint/ruff/black/... and npm/yarn test, so a fully-gated Bun CI
pipeline scored 0 for the test gate and missed oxlint entirely.

- Add oxlint to lint gate patterns.
- Add `bun run test` to test gate patterns.
- Add unit test covering a Bun workflow (setup-bun + frozen install +
  oxlint-style lint + bun test + bunx tsc).
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

The CI quality-gate assessor now recognizes oxlint and bun run test. A unit test covers a Bun workflow with lint, test, TypeScript, push, and pull-request checks.

Changes

CI quality-gate detection

Layer / File(s) Summary
Command detection and validation
src/agentready/assessors/testing.py, tests/unit/test_assessors_testing.py
The assessor detects oxlint and bun run test. The new test verifies that a Bun workflow passes with a score of at least 75.

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title describes the CI gate changes but does not follow the required type(scope): description format because it omits the scope. Add a scope, such as feat(testing): detect oxlint and bun test gates in CI workflows.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

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.

@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 `@tests/unit/test_assessors_testing.py`:
- Line 579: Update the test fixture in the assessor test to include the
repository-supported lint command containing “oxlint,” rather than relying only
on “bun run lint.” Keep “bun run test” in the steps so the test exercises both
detection patterns and would fail if the oxlint alternative were removed.
🪄 Autofix

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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 2e40bc10-3a9a-4db0-bf0d-37de815e1c24

📥 Commits

Reviewing files that changed from the base of the PR and between 3f4c01b and 44ee55f.

📒 Files selected for processing (2)
  • src/agentready/assessors/testing.py
  • tests/unit/test_assessors_testing.py

" steps:\n"
" - uses: oven-sh/setup-bun@v2\n"
" - run: bun install --frozen-lockfile\n"
" - run: bun run lint\n"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Exercise the new oxlint detection.

bun run lint matches the existing \blint\b pattern. This test therefore passes even if the new oxlint alternative is removed. Replace or supplement this step with the repository’s supported command containing oxlint, while keeping bun run test to cover both new patterns.

As per path instructions, tests must verify the intended behavior and missing edge cases.

🤖 Prompt for 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.

In `@tests/unit/test_assessors_testing.py` at line 579, Update the test fixture in
the assessor test to include the repository-supported lint command containing
“oxlint,” rather than relying only on “bun run lint.” Keep “bun run test” in the
steps so the test exercises both detection patterns and would fail if the oxlint
alternative were removed.

Source: Path instructions

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant