Skip to content

Add CI/CD pipeline, bundle dist, and SARIF + job-summary features#82

Open
shahrryyar wants to merge 1 commit into
aryanbrite:mainfrom
shahrryyar:feature/ci-cd-sarif-summary
Open

Add CI/CD pipeline, bundle dist, and SARIF + job-summary features#82
shahrryyar wants to merge 1 commit into
aryanbrite:mainfrom
shahrryyar:feature/ci-cd-sarif-summary

Conversation

@shahrryyar

Copy link
Copy Markdown

What we added

  • CI pipeline (.github/workflows/ci.yml) — runs on push/PR to main with four jobs:
    • quality: ESLint + Prettier (--check) + tsc --noEmit
    • test: Node 20 & 22 matrix with coverage upload
    • build: @vercel/ncc bundle + check-dist (fails if committed dist is out of date)
    • actionlint: validates all workflow YAML
  • Bundled, committed dist/action.yml switched from a composite action to using: node20 with dist/index.mjs produced by ncc. The self-contained bundle is committed, so the action works without a build step at release time.
  • SARIF output (src/sarif.ts) — the review now emits a SARIF 2.1.0 file (openrabbit.sarif) with 7 rules (security/bugerror; scope-drift/reuse/suggestion/style/questionwarning). action.yml exposes a sarif-file output so it can be uploaded to GitHub code scanning.
  • Job-summary rendering (src/summary.ts) — the review is rendered into the workflow run summary (GITHUB_STEP_SUMMARY), so results are readable without opening the PR.
  • Tooling — ESLint 9 + typescript-eslint, Prettier 3, Vitest 4 + v8 coverage, .nvmrc, and unit tests for the new features.
  • Dependabot + bug fixes — fixed dependabot.yml (was package-ecosystem: ""), corrected the pr-review.yml owner typo (aryan6673aryanbrite), and pinned broken action versions (checkout@v5/v3v4, action-gh-release@v3v2).

Why we added it

The repo had no DevOps/CI/CD: nothing built, linted, type-checked, or tested the action's own source, and the composite action relied on a runtime build that wasn't part of the repo. Reviews also produced no machine-readable security signal and no visible run summary.

What it solves

  • Every change is automatically linted, type-checked, tested (Node 20 & 22), and verified to ship an up-to-date bundle.
  • Security/quality findings become first-class: they appear in GitHub code scanning via SARIF and in the run summary.
  • The action is reproducible and self-contained (dist committed + check-dist guard).

Verification (proven locally)

  • lint, format:check, typecheck, and test (11 tests; new modules at 100% coverage) all pass.
  • check-dist passes: the ncc bundle is deterministic and matches the committed dist.
  • buildSarif + formatSummaryMarkdown executed against a realistic 7-type payload: valid SARIF 2.1.0 (correct ruleId/ruleIndex/level/locations, untyped comments skipped) and a correctly rendered summary.
  • The bundled entry runs and the input guards fail gracefully without required env/secrets.

Notes

  • The pr-review.yml workflow references aryanbrite/openrabbit@main and needs LLM_API_KEY (and GITHUB_TOKEN) configured as repo secrets to run on PRs.
  • This PR is opened from a fork (shahrryyar/openrabbit) because direct push to aryanbrite/openrabbit is denied for this account.

github-actions[bot]

This comment was marked as duplicate.

github-actions[bot]

This comment was marked as low quality.

@github-actions github-actions 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.

Verdict

needs changes

Primary Goal

Add CI/CD pipeline, bundle dist, and SARIF + job-summary features

Overview

This PR introduces a comprehensive CI/CD workflow (.github/workflows/ci.yml), bundles the action using @vercel/ncc with committed dist/, adds SARIF output for GitHub code scanning (src/sarif.ts), renders job summaries (src/summary.ts), updates tooling (ESLint 9, Prettier 3, Vitest 4), fixes Dependabot configuration, and corrects workflow references. The changes touch multiple areas including CI, bundling, security reporting, and developer experience.

Scope Assessment

The PR stays focused on its stated goal of adding CI/CD, bundling, SARIF, and job-summary features. All changes are either core to these features (new workflows, new source files) or support files) or necessary adjustments (.gitignore, action.yml, package.json). No significant scope drift detected.

Risk Assessment

Main risks include: 1) Potential breakage from updating action versions (checkout@v4, gh-release@v2) without testing in this PR's context; 2) The SARIF generation assumes all comments have valid type and path/line fields - missing validation could cause runtime errors; 3) Bundling with ncc and committing dist/ requires the check-dist step to prevent drift - this relies on the git diff --exit-code dist command which may fail in edge cases (e.g., line endings).

Reuse Notes

  • Existing src/reviewer.ts already returns a ReviewResponse structure - the SARIF and summary modules reuse this pattern.
  • The runReview function in src/reviewer.ts was modified to return ReviewResponse instead of void - this aligns with existing TypeScript patterns in the codebase.
  • ESLint configuration reuses typescript-eslint recommended rules with overrides for no-explicit-any.
  • Test setup uses Vitest with V8 coverage - consistent with existing test patterns.

Action Items

  • Add validation in buildSarif to handle comments missing type, path, or line fields to prevent runtime errors.
  • Consider adding a step in the CI workflow to verify the bundled dist/index.mjs runs correctly (e.g., node dist/index.mjs --help).
  • Ensure the check-dist script in package.json works correctly in forked repositories where the action might be run from a fork.
  • Update the README to document the new sarif-file output and how to use it with GitHub code scanning upload action.

Comment thread src/sarif.ts
fullDescription: { text: `OpenRabbit flagged this as a ${type} issue.` },
defaultConfiguration: { level: LEVEL_BY_TYPE[type] },
helpUri: 'https://github.com/aryanbrite/openrabbit',
}))

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.

bug: The SARIF builder assumes all comments have valid type, path, and line fields. If a comment lacks these (e.g., from a bug in the reviewer), this will throw a runtime error when accessing comment.type or comment.line. Add a guard to skip invalid comments.

Suggested change
}))
const results = response.comments
.filter((comment): comment is ReviewComment & { type: ReviewCommentType; path: string; line: number } =>
Boolean(comment.type) && typeof comment.path === 'string' && typeof comment.line === 'number')
.map((comment) => {
const type = comment.type as ReviewCommentType
return {
ruleId: `openrabbit/${type}`,
ruleIndex: ALL_TYPES.indexOf(type),
level: LEVEL_BY_TYPE[type],
message: { text: comment.body },
locations: [
{
physicalLocation: {
artifactLocation: { uri: comment.path },
region: { startLine: comment.line },
},
},
],
}
})

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Please look into this.

Comment thread .github/workflows/ci.yml
name: Bundle & verify dist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

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.

question: The test job uses a matrix for Node 20 and 22, but only uploads the coverage artifact when matrix.node == 20. Is this intentional? If so, consider adding a comment explaining why coverage is only uploaded from one matrix job.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Maybe add a short comment explaining why only Node 20 uploads coverage. Good Catch

Comment thread .github/workflows/ci.yml
run: npm run build
- name: Verify committed dist is up to date
run: git diff --exit-code dist

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.

suggestion: The actionlint step uses reviewdog/action-actionlint@v1. Consider pinning to a specific version (e.g., @v1) is already done, but verify this is the latest stable version. Alternatively, use actions/setup-actionlint if available for better integration.

Suggested change
- uses: reviewdog/action-actionlint@v1

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

v1 is acceptable so its fine. Ignore this

Comment thread package.json
@@ -19,8 +25,13 @@
"undici": "^5.0.0"
},
"devDependencies": {

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.

suggestion: The check-dist script runs npm build && git diff --exit-code dist. If the build fails, the git diff won't run, but the error message might be unclear. Consider splitting into two steps or adding a custom message: npm run build && echo 'Checking dist is up to date...' && git diff --exit-code dist || (echo 'Dist is out of date. Run npm run build to update.' && exit 1)

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

The proposed shell command is more complicated than necessary.
It doesn't improve debugging much. ignore this

Comment thread src/action.ts
core.setOutput('sarif-file', sarifPath)
}

run().catch((error) => core.setFailed(`${error}`));

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.

question: The SARIF file is written to openrabbit.sarif in the root of the workspace. Since actions run in $GITHUB_WORKSPACE, this is acceptable, but consider making the path configurable or using a subdirectory to avoid potential conflicts with other actions in the same workflow.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

This is a real robustness issue.

@aryanbrite

Copy link
Copy Markdown
Owner

SARIF is probably the coolest addition :)

@aryanbrite

Copy link
Copy Markdown
Owner

Please look into the comments, Fix them and ill merge this. This is a very cool PR. OpenRabbit is now a GitHub Security Scanner. The Beautiful Workflow Summary will actually make this look like a polished product. Man I can see 10 new features.
This is a very cool PR. Thanks !!!!!

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Was this intentional? If so, was there a compatibility issue with v5?

Comment thread src/action.ts
core.setOutput('sarif-file', sarifPath)
}

run().catch((error) => core.setFailed(`${error}`));

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

This is a real robustness issue.

Comment thread .github/workflows/ci.yml
name: Bundle & verify dist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Maybe add a short comment explaining why only Node 20 uploads coverage. Good Catch

Comment thread .github/workflows/ci.yml
run: npm run build
- name: Verify committed dist is up to date
run: git diff --exit-code dist

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

v1 is acceptable so its fine. Ignore this

Comment thread package.json
@@ -19,8 +25,13 @@
"undici": "^5.0.0"
},
"devDependencies": {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

The proposed shell command is more complicated than necessary.
It doesn't improve debugging much. ignore this

Comment thread src/sarif.ts
fullDescription: { text: `OpenRabbit flagged this as a ${type} issue.` },
defaultConfiguration: { level: LEVEL_BY_TYPE[type] },
helpUri: 'https://github.com/aryanbrite/openrabbit',
}))

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Please look into this.

@shahrryyar

shahrryyar commented Jul 9, 2026 via email

Copy link
Copy Markdown
Author

@aryanbrite

Copy link
Copy Markdown
Owner

I have tested this by myself. Its working good. Would appreciate if you fix some fixes pointed above

@shahrryyar
shahrryyar force-pushed the feature/ci-cd-sarif-summary branch from 91800cd to a48696e Compare July 9, 2026 16:01

@github-actions github-actions 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.

Verdict

ready to merge

Primary Goal

Implement a comprehensive CI/CD pipeline with linting, testing, builder, SARIF reporting, and job-summary rendering for the OpenRabbit action.

Overview

This PR adds a robust CI/CD pipeline for the OpenRabbit action, including ESLint/Prettier/typechecking, Node 20/22 testing with coverage, @vercel/ncc bundling, SARIF output for GitHub code scanning, and job-summary rendering. It addresses prior gaps in automated quality checks, self-contained distribution, and security/quality visibility.

Scope Assessment

All changes align with the PR's stated goal of establishing DevOps infrastructure. No detectable scope drift; all modified files (.github/workflows/*.yml, src/action.ts, tooling configs) directly support the CI/CD enhancements.

Risk Assessment

Low risk: Secrets are properly hidden via GitHub Actions secrets, SARIF enables security/quality scanning, and dependency management is now automated. No critical vulnerabilities identified in the changes.

Reuse Notes

  • Reuses existing ESLint/Prettier configurations
  • Leverages @vercel/ncc for bundling aligned with existing tooling
  • SARIF schema follows standard format for GitHub integration

Action Items

  • Ensure LLM_API_KEY secret is configured in repository settings
  • Verify all workflow jobs pass locally with npm test

@shahrryyar

shahrryyar commented Jul 9, 2026 via email

Copy link
Copy Markdown
Author

@aryanbrite

Copy link
Copy Markdown
Owner

right now I am doing the edits and I have a question. beside grok and openrouter API does it accept other providers? Anthropic, openai, deepseek?

On Thu, Jul 9, 2026 at 7:00 PM Aryan Brite @.> wrote: aryanbrite left a comment (aryanbrite/openrabbit#82) <#82 (comment)> I have tested this by myself. Its working good. Would appreciate if you fix some fixes pointed above — Reply to this email directly, view it on GitHub <#82?email_source=notifications&email_token=A3L735PPAAFZW7NYVLI3EOL5D66S5A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIOJSG4YDQNRUG4YKM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-4927086470>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A3L735OIN4AW3MISMEMJIB35D66S5AVCNFSNUABGKJSXA33TNF2G64TZHMYTEMRTGU3TSNJWHA5US43TOVSTWNBYGQ3DOOJYGE2DNILWAI . You are receiving this because you authored the thread.Message ID: @.>

No, I wanna add compatibility for all models. Let me know if you can do that. Otherwise, ill do this weekend

@shahrryyar
shahrryyar force-pushed the feature/ci-cd-sarif-summary branch from a48696e to f13a55b Compare July 9, 2026 16:04
@shahrryyar

shahrryyar commented Jul 9, 2026 via email

Copy link
Copy Markdown
Author

@github-actions github-actions 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.

Verdict

needs changes

Primary Goal

Hook up CI/CD – bundle the action, emit SARIF and run‑summary, and make the action self‑contained.

Overview

The PR adds robust CI tooling and surface finding data via SARIF and a workflow run summary. Core logic for generating SARIF and markdown exists, though the action entrant (src/action.ts) never produces those artifacts. Consequently, the action will finish without setting the declared sarif-file output or writing the summary to the workflow UI.

Key consequences:

  • The action appears to run successfully (no errors), but the SARIF file is never written.
  • coupe for downstream tooling (GitHub Code Scanning, workflow summaries) is broken.
  • Unused imports hint at incomplete integration.

Fixing this will make the CI pipeline useful.

@shahrryyar
shahrryyar force-pushed the feature/ci-cd-sarif-summary branch from f13a55b to a7f5cc3 Compare July 9, 2026 16:14
github-actions[bot]

This comment was marked as off-topic.

@github-actions github-actions 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.

Verdict

ready to merge

Primary Goal

Establish CI/CD pipeline with linting, testing, bundling, and SARIF output for OpenRabbit action

Overview

This PR implements a comprehensive CI/CD workflow that automates linting (ESLint/Prettier), testing (Node 20/22 with coverage), and action bundle generation. It adds SARIF Secure Analysis output for code scanning and job-summary rendering. Key additions include distributed workflow files, updated package.json with new dependencies, and enhanced action.ts/reviewer.ts logic for CI integration.

Scope Assessment

All changes directly implement the stated goal of establishing devops infrastructure. The workflow definitions and code additions align with the PR's stated purpose without scope drift.

Risk Assessment

Low risk. Proper secret handling via GitHub Actions Secrets, deterministic dist bundle verification, and comprehensive test coverage. No security vulnerabilities detected in the implementation.

Reuse Notes

  • Standard GitHub Actions workflow structure reused from existing patterns
  • Action.ts logic follows established OpenRabbit patterns

Action Items

  • Verify LLM_API_KEY secret is configured in repository

Separate PR Suggestions

  • Extract config cleanup suggestions into separate PR if found

Inline comments (could not be placed directly)

  • .github/workflows/pr-review.yml#L22: Ensure LLM_PROVIDER variable is properly sanitized before use

  • src/action.ts#L58: Why is esModuleInterop required in tsconfig.json if all modules are ESM?

Comment thread .github/workflows/ci.yml
jobs:
quality:
name: Lint, format & typecheck
runs-on: ubuntu-latest

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.

suggestion: Consider adding node:18 matrix for broader compatibility testing

Suggested change
runs-on: ubuntu-latest
Add `node:18` to the matrix strategy in the test job

@shahrryyar
shahrryyar requested a review from aryanbrite July 9, 2026 16:17
@shahrryyar
shahrryyar force-pushed the feature/ci-cd-sarif-summary branch from a7f5cc3 to 108fc96 Compare July 9, 2026 16:21
@aryanbrite

Copy link
Copy Markdown
Owner

LGTM !!!

@github-actions github-actions 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.

Overview

User Safety: safe

github-actions[bot]

This comment was marked as off-topic.

@aryanbrite

Copy link
Copy Markdown
Owner

I will remove comments like this. I will work on this tmw. I was thinking to work on the language of the reviews and was thinking to add some look features like visual infographic generation. but that would be a completely different this. Now this project pretty much holds the basic features it needs. I would love to give you the maintainer access if you are willing to :)

Overview

User Safety: safe

@shahrryyar

shahrryyar commented Jul 9, 2026 via email

Copy link
Copy Markdown
Author

@shahrryyar

shahrryyar commented Jul 9, 2026 via email

Copy link
Copy Markdown
Author

github-actions[bot]

This comment was marked as low quality.

@github-actions github-actions 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.

Verdict

needs changes

Primary Goal

Add CI/CD pipeline, bundle dist, and SARIF + job-summary features

Overview

This PR introduces a comprehensive CI workflow that covers linting, formatting, type‑checking, unit tests, and a build job that bundles the action with ncc. It also adds a new sarif.ts module that serializes review results into a SARIF 2.1.0 file and a summary.ts formatter that writes a Markdown summary to GITHUB_STEP_SUMMARY. The action entrypoint has been switched from a composite action to a direct node20 action using the committed dist/index.mjs. New testing harnesses validate the SARIF generation and summary rendering.

The intent is to have the action be fully reproducible without a build step, expose machine‑readable findings, and surface a concise run‑summary for operators.

@shahrryyar
shahrryyar force-pushed the feature/ci-cd-sarif-summary branch from 108fc96 to acc298a Compare July 9, 2026 16:35
@shahrryyar

shahrryyar commented Jul 9, 2026 via email

Copy link
Copy Markdown
Author

@github-actions github-actions 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.

Verdict

needs changes

Primary Goal

Add a CI pipeline, commit a prebuilt ncc bundle, and emit SARIF + job-summary output for the OpenRabbit reviewer action.

Overview

What this PR does

  • Introduces a full CI workflow (.github/workflows/ci.yml) with quality, test (Node 20/22), build/check-dist, and actionlint jobs.
  • Switches action.yml from a composite action to a self-contained node20 action using a committed dist/index.mjs bundle produced by @vercel/ncc.
  • Adds src/sarif.ts (SARIF 2.1.0 generation) and src/summary.ts (GitHub step-summary markdown) plus unit tests.
  • Fixes dependabot config, pins action versions, and corrects a typo in pr-review.yml.

Concerns

  • .prettierignore excludes all source files (src/reviewer.ts, src/cli.ts, src/types.ts, etc.). This means prettier --check will never validate the actual code, defeating the purpose of the format gate in CI.
  • Minor scope drift: whitespace/quote tweaks and actions/checkout@v3 → v4 bumps in acknowledge-contributors.yml and auto-version.yml are unrelated to the CI/SARIF feature.
  • CLI bin removed: package.json no longer declares the bin entry for src/cli.ts, which may silently break the previously documented CLI usage.
  • Entrypoint execution: src/action.ts now export async function run(), but the bundled dist/index.mjs must actually invoke run() (the CI smoke-test expects a non-zero exit without inputs, which would catch a no-op bundle, but worth confirming).

Verification

Tests for SARIF and summary look solid; the mocked action test asserts SARIF write and summary append correctly.

Scope Assessment

Core changes (CI, bundling, SARIF, summary) are coherent. However, the PR also touches unrelated workflow files for cosmetic reasons and inexplicably ignores source files in Prettier.

Risk Assessment

The Prettier misconfiguration is the main correctness risk: formatted code will not be enforced, allowing drift. Removing the CLI bin may be an unintended breaking change for consumers using the CLI. The switched action runtime relies on a committed bundle being up to date (guarded by check-dist).

Reuse Notes

  • Reuses existing ReviewResponse / ReviewComment types from src/types.ts for SARIF and summary rendering.
  • Leverages @actions/core input/output conventions already used in src/action.ts.

Action Items

  • Fix .prettierignore so source files are not excluded from formatting checks.
  • Confirm dist/index.mjs actually calls run() (or relies on the existing bottom-level invocation).
  • Decide whether removing the bin entry for src/cli.ts is intentional; if CLI is still supported, restore it.
  • Consider moving unrelated workflow whitespace/version bumps to a separate maintenance PR.

Separate PR Suggestions

  • Extract the cosmetic workflow changes (.github/workflows/acknowledge-contributors.yml, .github/workflows/auto-version.yml whitespace/checkout version bumps) and the pr-review.yml owner typo fix into a separate 'repo maintenance' PR, keeping this PR focused on CI + SARIF + summary.

Comment thread .prettierignore
node_modules
coverage
package-lock.json
src/reviewer.ts

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.

bug: Why are all src/*.ts files listed in .prettierignore? This excludes the actual source from prettier --check, so the CI format gate will never catch unformatted code. Only ignore build/output artifacts and vendored docs, not the source you want to enforce style on.

Suggested change
src/reviewer.ts
dist
node_modules
coverage
package-lock.json
.github/CONTRIBUTING.md
.github/FUNDING.YML
.github/copilot-instructions.md

Comment thread package.json
},
"bin": {
"coderabbit-pr-reviewer": "dist/cli.js"
"test:coverage": "vitest run --coverage",

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.

question: The bin entry for src/cli.ts was removed. Is the CLI no longer supported? If src/cli.ts is still shipped, removing bin silently breaks npx openrabbit / local CLI usage. Either restore it or confirm the CLI is deprecated.


permissions:
contents: write # Allows git push
contents: write # Allows git push

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.

scope-drift: This whitespace fix and checkout@v3 → v4 bump is unrelated to the CI/SARIF feature. It’s harmless but expands the PR’s blast radius. Consider splitting pure maintenance tweaks into a separate PR.

@aryanbrite

Copy link
Copy Markdown
Owner

hey may I know which LLM is configured to review the code?

On Thu, Jul 9, 2026 at 7:34 PM github-actions[bot] @.> wrote: @.[bot]* commented on this pull request. Verdict needs changes Primary Goal Add CI/CD pipeline, bundle dist, and SARIF + job-summary features Overview This PR introduces a comprehensive CI workflow that covers linting, formatting, type‑checking, unit tests, and a build job that bundles the action with ncc. It also adds a new sarif.ts module that serializes review results into a SARIF 2.1.0 file and a summary.ts formatter that writes a Markdown summary to GITHUB_STEP_SUMMARY. The action entrypoint has been switched from a composite action to a direct node20 action using the committed dist/index.mjs. New testing harnesses validate the SARIF generation and summary rendering. The intent is to have the action be fully reproducible without a build step, expose machine‑readable findings, and surface a concise run‑summary for operators. — Reply to this email directly, view it on GitHub <#82?email_source=notifications&email_token=A3L735N2CYUIVGSLZDVVRHD5D7CSBA5CNFSNUABKM5UWIORPF5TWS5BNNB2WEL2QOVWGYUTFOF2WK43UKJSXM2LFO4XTINRWGQ4TENBWGQZ2M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#pullrequestreview-4664924643>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A3L735MZ37LCAOH3KTYWJFT5D7CSBAVCNFSNUABGKJSXA33TNF2G64TZHMYTEMRTGU3TSNJWHA5US43TOVSTWNBYGQ3DOOJYGE2DNILWAI . You are receiving this because you authored the thread.Message ID: @.***>

OpenRouter works good with this.

@shahrryyar

shahrryyar commented Jul 9, 2026 via email

Copy link
Copy Markdown
Author

@aryanbrite

Copy link
Copy Markdown
Owner

oh wait, sorry for misunderstanding. This repo is using openrouter/free cause i wanted to reach the free audiance. feel free to ignore some code reviews by this
openrouter/free sometimes picks up some dumb models

@aryanbrite

Copy link
Copy Markdown
Owner

I think i should change this to a paid one. ill change this dw :)

@shahrryyar

shahrryyar commented Jul 9, 2026 via email

Copy link
Copy Markdown
Author

- Add GitHub Actions CI workflow (lint, format, typecheck, test matrix,
  build/check-dist, actionlint) and Dependabot + .nvmrc
- Switch action.yml from composite to node20 using ncc-bundled dist/index.mjs
- Add SARIF 2.1.0 output (security/code-scanning) and GitHub job-summary
  rendering from the review response
- Make runReview return the response so action.ts can emit both artifacts
- Fix broken workflow refs (owner, action versions, checkout/dependabot)
- Add ESLint 9 + Prettier + Vitest configs and unit tests for new features
@shahrryyar
shahrryyar force-pushed the feature/ci-cd-sarif-summary branch from acc298a to d32cad7 Compare July 9, 2026 16:51

@github-actions github-actions 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.

Verdict

needs changes

Primary Goal

Add a comprehensive CI/CD pipeline, bundle the action distribution, and emit SARIF + job-summary for review results.

Overview

This PR introduces a new CI workflow that lint, test, type‑check, and build the action, verifies the bundled dist/ is up‑to‑date, and generates a SARIF file and a workflow run summary. The action itself was upgraded from a composite action to a node20 node module (dist/index.mjs), and new inputs/outputs (sarif_path, sarif-file) were added to allow callers to consume the findings.

Key changes:

  • New GitHub Actions workflow files (.github/workflows/ci.yml, pr-review.yml adjustments, dependabot config).
  • Action packaging rewritten using @vercel/ncc and committed dist/.
  • src/sarif.ts implements SARIF 2.1.0 generation and src/summary.ts renders a Markdown summary.
  • Tests updated to validate SARIF output and summary appending.
  • Miscellaneous tooling updates (ESLint 9, Prettier 3, Vitest 4).

@aryanbrite

Copy link
Copy Markdown
Owner

hi, I am sorry. This PR is in my mind. I am just a bit occupied a bit. ill review this in a few days :)

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.

2 participants