-
Notifications
You must be signed in to change notification settings - Fork 0
feat: migrate all scripts and CI tasks to cargo-make #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Implement unified task management using cargo-make for both local development and CI/CD workflows. This provides a single source of truth for all build, test, and deployment tasks. Changes: - Add Makefile.toml with comprehensive task definitions - Migrate CI workflows to use cargo-make tasks - Add check-versions utility task for dependency management - Remove redundant benchmarks/compare.sh script - Update README with cargo-make usage documentation Tasks implemented: - Development: fmt, clippy, lint, doc-check - Security: deny-advisories, deny-licenses, deny-bans - Testing: test-rust, test-python, test-node, doctests - Coverage: coverage-rust, coverage-python, coverage-node - Utilities: check-versions, bench, bench-compare - CI composite: ci-lint, ci-security, ci-test-*, ci-coverage-* - MSRV: msrv-check Benefits: - DRY principle - single source of truth - Local development matches CI environment - Cross-platform task compatibility - Easy maintenance and updates - Self-documenting via cargo make --list-all-steps Resolves #10
Node.js native test runner outputs coverage to console only. Use npm run test:coverage which invokes c8 to generate lcov reports.
cargo-make does not allow both command and script in the same task. Keep only the script block which pipes output through clippy-sarif.
CodeQL is already enabled for security scanning. Remove redundant clippy-sarif integration to simplify CI.
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #13 +/- ##
=======================================
Coverage 78.80% 78.80%
=======================================
Files 27 27
Lines 4303 4303
=======================================
Hits 3391 3391
Misses 912 912
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
- Use taiki-e/install-action@cargo-deny instead of cargo-make install - Replace bash scripts with cross-platform cargo-make commands - Split test-node, test-python, coverage-* tasks into subtasks - Use cwd and command/args instead of script blocks - Fixes Windows CI failures due to missing /bin/bash
- Use script_runner = "@shell" for Node.js tasks to fix Windows npm.cmd resolution - Install cargo-llvm-cov and cargo-nextest via taiki-e/install-action (faster) - Add shell: bash to CI step for consistent behavior
- Replace npm with pnpm (~2-3x faster installs) - Convert package-lock.json to pnpm-lock.yaml - Update CI to use pnpm/action-setup - Update Makefile.toml tasks to use pnpm commands
Native binaries are not published to npm yet. Remove optionalDependencies to fix pnpm --frozen-lockfile check. They will be added back when publishing.
bug-ops
added a commit
that referenced
this pull request
Dec 16, 2025
Fixes code scanning alert #13: checkout of untrusted code in trusted context. The labeler action doesn't need to checkout code - it reads changed files via API.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Migrates all build scripts and CI tasks to cargo-make for better maintainability and DRY compliance.
Changes
Added
Makefile.toml- Comprehensive cargo-make configuration with 60+ tasks covering:Simplified CI workflow - Replaced inline commands with cargo-make tasks in
.github/workflows/ci.yml(-131 lines)Added
check-versionstask - New utility for checking outdated dependenciesRemoved redundant scripts - Deleted
benchmarks/compare.sh(functionality now inbench-comparetask)Updated README - Added comprehensive cargo-make usage documentation
Benefits
cargo make --list-all-stepsshows all tasksQuick Reference
Resolves #10