Skip to content

feat: add build validation CI workflow#268

Closed
ChiragAgg5k wants to merge 1 commit intomasterfrom
feat-build-validation-ci
Closed

feat: add build validation CI workflow#268
ChiragAgg5k wants to merge 1 commit intomasterfrom
feat-build-validation-ci

Conversation

@ChiragAgg5k
Copy link
Member

@ChiragAgg5k ChiragAgg5k commented Mar 3, 2026

Summary

Add CI workflow to validate CLI builds across all platforms.

Changes

  • Build and verify CLI runs with Node.js
  • Verify npm package can be built
  • Build binaries for all platforms (Linux x64/arm64, macOS x64/arm64, Windows x64/arm64)
  • Verify all generated binaries exist

Technical Details

  • Use Node.js 20 and Bun latest
  • Trigger on pull requests and pushes to master
  • Build project before running CLI validation (TypeScript compilation required)
  • Cross-compilation supported via Bun's compile targets

Testing

This workflow will run on every PR and push to master to ensure builds work correctly.

@coderabbitai
Copy link

coderabbitai bot commented Mar 3, 2026

Walkthrough

A new GitHub Actions CI workflow file is added at .github/workflows/ci.yml to automate build validation. The workflow triggers on pull requests, pushes to main, and manual dispatch. It contains a single "Build Validation" job that sets up Node.js and Bun runtime environments, installs dependencies, builds the project, and creates platform-specific binaries for Linux, Windows, and macOS across x64 and ARM64 architectures. The job verifies the presence of generated binaries upon completion.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title clearly summarizes the main change: adding a GitHub Actions CI workflow for build validation, which aligns with the comprehensive changes to .github/workflows/ci.yml.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat-build-validation-ci

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 and usage tips.

@ChiragAgg5k ChiragAgg5k force-pushed the feat-build-validation-ci branch from f63cca6 to 190a4f6 Compare March 3, 2026 04:34
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/ci.yml:
- Around line 9-11: The workflow's push trigger currently lists branch name
"main" which doesn't match this PR's target branch "master", so update the push
trigger under the "push" job (the branches list) to include the correct branch
name(s) — either replace "main" with "master" or add "master" alongside "main"
in the branches array so pushes to master will run the CI workflow.
- Around line 50-56: The "Setup ldid" CI step clones and installs ldid from HEAD
with sudo, which is a supply-chain and reproducibility risk; change that step to
clone a pinned tag or commit (checkout a specific tag/commit SHA for
tpoechtrager/ldid), build from that pinned revision, and avoid installing as
root—invoke make without sudo and install into a user-local prefix (e.g., set
PREFIX or use DESTDIR to $HOME/.local) and update PATH accordingly; specifically
replace the unpinned git clone + sudo make install commands in the "Setup ldid"
step with a clone + git checkout <pinned-commit-sha> and a non-root install into
a user-local directory instead of calling sudo.
- Around line 23-34: Update the GitHub Actions CI step to use a supported Node
runtime and deterministic installs: change the actions/setup-node@v4 input
node-version from "16.x" to at least "18.x" (matching your build
target/@types/node), replace the oven-sh/setup-bun@v2 bun-version "latest" with
a fixed release tag, and swap the "Install Node dependencies" run from npm
install to npm ci; also generate and commit a package-lock.json (run npm install
locally before committing) so npm ci can produce reproducible installs.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 92321a1 and 3490968.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml

Add CI workflow to validate CLI builds across all platforms:
- Build and verify CLI runs with Node.js
- Verify npm package can be built
- Build binaries for all platforms (Linux x64/arm64, macOS x64/arm64, Windows x64/arm64)
- Verify all generated binaries exist

Technical details:
- Use Node.js 20 and Bun latest
- Trigger on pull requests and pushes to master
- Build project before running CLI validation (TypeScript compilation required)
- Cross-compilation supported via Bun's compile targets
@ChiragAgg5k ChiragAgg5k force-pushed the feat-build-validation-ci branch from 76f4928 to 1f0f3b3 Compare March 3, 2026 04:51
@ChiragAgg5k ChiragAgg5k changed the title chore: ci workflow for build validation feat: add build validation CI workflow Mar 3, 2026
@ChiragAgg5k ChiragAgg5k closed this Mar 3, 2026
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