Skip to content

ci: add github actions workflow for push and pull request testing - #2

Merged
Shantodotdev merged 23 commits into
mainfrom
feat/ci-workflow
Sep 8, 2026
Merged

Shantodotdev merged 23 commits into
mainfrom
feat/ci-workflow

Conversation

@Shantodotdev

Copy link
Copy Markdown
Owner

Summary

Adds a comprehensive, cross-platform GitHub Actions CI workflow to automatically test, format, and lint code on every push and pull_request across all branches.


What Changes

  • GitHub Actions Workflow (.github/workflows/ci.yml):
    • Triggers: Runs on all branches for both push and pull_request.
    • Concurrency Control: Automatically cancels obsolete in-progress runs via ${{ github.workflow }}-${{ github.head_ref || github.ref }} with cancel-in-progress: true.
    • Security: Strict read-only permissions (contents: read).
    • Lint Job (ubuntu-latest):
      • Checks code formatting: cargo fmt --all -- --check.
      • Checks linter warnings: cargo clippy --workspace --all-targets -- -D warnings.
      • Uses Swatinem/rust-cache@v2 for rapid build artifact caching.
    • Test Matrix (ubuntu-latest, macos-latest, windows-latest):
      • Installs prebuilt cargo-nextest via taiki-e/install-action@nextest.
      • Runs all unit and integration tests: cargo nextest run --workspace.
      • Runs all documentation tests: cargo test --doc.

Verification

  • Validated workflow YAML syntax.
  • Local verification completed with zero errors and clean test suite.

…s checks

- Support regex URL inclusion and exclusion during crawl discovery
- Propagate custom HTTP headers to HttpClient and inspector
- Add standalone AI bot readiness evaluation and llms.txt probing
- Add raw schema validation helper for Google Rich Results
…eanup

- Add IssueFilterCriteria struct for filtered issue queries and counts
- Add delete_crawl and clean_crawls queries with cascade deletions
- Expose batch save methods for pages and issues
…rmat flags

- Add issues, check-ai, schema, delete, and clean subcommands
- Add format options (terminal, json, md) to inspect, list, and issues
- Add terminal matrix and scorecard visualizers for issues, AI readiness, and schema
- Test CLI parser across all new commands and options
- Test crawl regex include/exclude filtering
- Test database cascade delete and purge operations
- Test issue filtering by severity, category, code, and URL substring
- Test AI search readiness audit and schema validation with wiremock
…red styles

- Intercept top-level help and no-arg invocation to render brand ASCII banner and categorized command badges
- Add clap colored styling to subcommands with cyan headers and green literals
- Align command descriptions to column 24 to avoid terminal text overflow
- Add JSON-RPC 2.0 message envelope types and MCP protocol negotiation models
- Implement 8 core autonomous agent tools with non-blocking async crawl guarantee
- Add token-efficient Markdown report generator with zero ANSI and zero ASCII art
- Implement read-only MCP URI resources for crawl sessions, summaries, and issues
- Implement asynchronous stdio loop reading from stdin and writing to stdout
- Add as_str and Display implementations to Severity model
- Add Database::from_path constructor for zero-panic database instantiation
- Connect seolens mcp subcommand to run native stdio MCP server loop
- Add --db-path flag support to McpArgs for database path overrides
- Add workspace .agents/mcp_config.json configuration
- Add comprehensive integration test suite covering handshake, tools, resources, and stdio streaming
…erride

- Implement standard OS data directory persistence via dirs crate (XDG on Linux, App Support on macOS, AppData on Windows).

- Support 4-tier database resolution hierarchy: explicit --db-path, -L/--local override, SEOLENS_DB_PATH environment variable, and OS data directory fallback.

- Add -L, --local flag to audit, list, mcp, report, issues, delete, and clean subcommands.

- Add comprehensive unit and integration tests for database path resolution and CLI flag parsing.
- Add csv crate dependency and implement four industry-standard exporters in src/report/csv.rs.

- Support internal_all.csv, issues_all.csv, response_codes.csv, and external_all.csv.

- Wire --format csv and --format all into audit and report CLI command handlers.

- Add comprehensive integration test suite validating schema compliance and file generation.
…adata

- Added MIT and Apache 2.0 license files matching Cargo.toml.
- Added repository and homepage URLs to package metadata.
- Added documentation hub table of contents and reading pathways in docs/README.md.
- Added terminal execution and standalone HTML report dashboard screenshots.
…utorial

- Documented verified Rust, C build tools, and OpenSSL setup across Linux, macOS, and Windows.
- Added step-by-step tutorial for implementing and testing new SEO rules.
- Added coding standards and pull request checklist.
… mcp guide

- Added project badges, overview, key feature matrix, and screenshots.
- Added comprehensive quickstart explaining cargo run, cargo build --release, and cargo install.
- Added AI agent Model Context Protocol setup guide and documentation roadmap.
…xt wrapping

- Converted half-drawn and dangling ASCII box borders to uniform enclosed badge headers matching inspector and list commands.

- Unified target telemetry and executive deep audit matrix into a single cohesive section with relaxed line height.

- Implemented responsive sentence wrapping for defect remediation advice with connected tree branch continuation.

- Mapped HTTP protocol radar status codes to canonical reason phrases.
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 51 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: b7bbd987-97e0-423e-bb8d-d3f4f3cf4a91

📥 Commits

Reviewing files that changed from the base of the PR and between 77e6348 and ed399bc.

⛔ Files ignored due to path filters (4)
  • Cargo.lock is excluded by !**/*.lock
  • docs/assets/architecture_pipeline.png is excluded by !**/*.png
  • docs/assets/cli_terminal_audit.png is excluded by !**/*.png
  • docs/assets/html_report_dashboard.png is excluded by !**/*.png
📒 Files selected for processing (54)
  • .agents/mcp_config.json
  • .github/workflows/ci.yml
  • .gitignore
  • AGENTS.md
  • CONTRIBUTING.md
  • Cargo.toml
  • LICENSE-APACHE
  • LICENSE-MIT
  • README.md
  • docs/CLI_AND_REPORTS_SPEC.md
  • docs/CRAWLER_SPEC.md
  • docs/DATA_MODELS_AND_SCHEMA.md
  • docs/DESKTOP_APP_SPEC.md
  • docs/MCP_SPECIFICATION.md
  • docs/PRODUCTION_SPEC.md
  • docs/README.md
  • docs/architecture.md
  • docs/cli.md
  • docs/crawler.md
  • docs/mcp.md
  • docs/rules.md
  • docs/storage.md
  • src/cli/args.rs
  • src/cli/commands.rs
  • src/cli/mod.rs
  • src/core/config.rs
  • src/core/models.rs
  • src/crawler/ai_check.rs
  • src/crawler/engine.rs
  • src/crawler/inspector.rs
  • src/crawler/mod.rs
  • src/lib.rs
  • src/mcp/formatter.rs
  • src/mcp/mod.rs
  • src/mcp/protocol.rs
  • src/mcp/resources.rs
  • src/mcp/server.rs
  • src/mcp/tools.rs
  • src/mcp/types.rs
  • src/report/csv.rs
  • src/report/html.rs
  • src/report/mod.rs
  • src/report/terminal.rs
  • src/rules/catalog.rs
  • src/rules/page/schema_val.rs
  • src/storage/mod.rs
  • src/storage/queries.rs
  • src/storage/sqlite.rs
  • src/storage/writer.rs
  • tests/cli_capabilities_tests.rs
  • tests/csv_export_tests.rs
  • tests/html_export_tests.rs
  • tests/mcp_tests.rs
  • tests/storage_tests.rs

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.

@Shantodotdev
Shantodotdev merged commit fafec55 into main Sep 8, 2026
9 checks passed
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