Skip to content

Conversation

ccamel
Copy link
Member

@ccamel ccamel commented Oct 16, 2025

Split monolithic check-prerequisites task into individual subtasks. Each tool (npx, awk, perl, jq) now has its
own check task. Also fix jq version validation to support 1.7+ (instead of strict 1.7).

Summary by CodeRabbit

  • Chores
    • Implemented granular prerequisite checks for individual build tools.
    • Created composite prerequisite validation task for streamlined verification.
    • Updated documentation generation to include prerequisite validation.

@ccamel ccamel self-assigned this Oct 16, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 16, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

The pull request refactors the prerequisites validation system by replacing a monolithic check with modular individual prerequisite verification tasks for npx, awk, perl, and jq, combined into a composite check-prerequisites task that is now a dependency for docs generation.

Changes

Cohort / File(s) Summary
Modular prerequisite checks
Makefile.toml
Added four new public tasks: check-npx, check-awk, check-perl, and check-jq. Each includes a description and verification script for its respective tool.
Composite prerequisite validation
Makefile.toml
Added check-prerequisites task with dependencies on all four individual checks and a consolidated success message.
Docs generation workflow
Makefile.toml
Updated docs-generate task dependencies to include check-prerequisites alongside existing docs-clean and schema dependencies.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant docs-generate
    participant check-prerequisites
    participant check-npx
    participant check-awk
    participant check-perl
    participant check-jq

    User->>docs-generate: Run task
    docs-generate->>check-prerequisites: Execute dependency
    par Parallel checks
        check-prerequisites->>check-npx: Verify npx
        check-prerequisites->>check-awk: Verify awk
        check-prerequisites->>check-perl: Verify perl
        check-prerequisites->>check-jq: Verify jq
    and
        check-npx-->>check-prerequisites: Success/Fail
        check-awk-->>check-prerequisites: Success/Fail
        check-perl-->>check-prerequisites: Success/Fail
        check-jq-->>check-prerequisites: Success/Fail
    end
    check-prerequisites-->>docs-generate: All checks passed
    docs-generate->>docs-generate: Execute docs generation
    docs-generate-->>User: Complete
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title concisely and accurately captures the core change of splitting the monolithic prerequisites check into individual subtasks within the Makefile, aligning precisely with the PR’s intent and scope.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

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.

@codecov
Copy link

codecov bot commented Oct 16, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@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: 1

🧹 Nitpick comments (4)
Makefile.toml (4)

98-106: Use POSIX-safe command detection and refine install hint

Prefer command -v with stderr redirected to avoid noisy “which: no npx” output; tweak install guidance.

-if ! which npx >/dev/null; then
-   echo "❌ npx could not be found"
-   echo "   Consider installing npx with: npm install -g npx"
+if ! command -v npx >/dev/null 2>&1; then
+   echo "❌ npx could not be found"
+   echo "   Install Node.js (includes npm and typically npx). If needed: npm install -g npx"
    exit 1
 fi

108-117: Silence detection errors; prefer command -v over which

Avoid stderr noise and improve portability.

-if ! which awk >/dev/null; then
+if ! command -v awk >/dev/null 2>&1; then
    echo "❌ awk could not be found"
    echo "   Consider installing awk (usually pre-installed on Unix systems)"
    exit 1
 fi

118-127: Mirror detection fix for perl

Use command -v and silence stderr as above.

-if ! which perl >/dev/null; then
+if ! command -v perl >/dev/null 2>&1; then
    echo "❌ perl could not be found"
    echo "   Consider installing perl (usually pre-installed on Unix systems)"
    exit 1
 fi

151-156: Composite prerequisites task looks good; consider reusing checks where used

LGTM. Since several chain tasks pipe output through jq, consider adding dependencies = ["check-jq"] to those tasks to fail fast when jq is missing.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1ebe939 and e47dfeb.

📒 Files selected for processing (1)
  • Makefile.toml (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*.toml

⚙️ CodeRabbit configuration file

Review the TOML configuration files for correctness, maintainability, and adherence to best practices.

Files:

  • Makefile.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: report-wasm-size
  • GitHub Check: test-rust
  • GitHub Check: Analyze (rust)

@bot-anik
Copy link
Member

bot-anik commented Oct 16, 2025

size-limit report 📦

Path Size
target/wasm32-unknown-unknown/release/axone_objectarium.wasm 536.26 KB (0%)
target/wasm32-unknown-unknown/release/axone_law_stone.wasm 655.07 KB (0%)
target/wasm32-unknown-unknown/release/axone_cognitarium.wasm 989.13 KB (0%)
target/wasm32-unknown-unknown/release/axone_dataverse.wasm 771.95 KB (0%)

@ccamel
Copy link
Member Author

ccamel commented Oct 16, 2025

@coderabbitai resolve

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 16, 2025

✅ Actions performed

Comments resolved and changes approved.

@ccamel ccamel merged commit 34b9df3 into main Oct 16, 2025
23 checks passed
@ccamel ccamel deleted the build/check-prerequisites-modularity branch October 16, 2025 18:06
@coderabbitai coderabbitai bot mentioned this pull request Oct 19, 2025
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