Skip to content

Conversation

cvvergara
Copy link
Member

@cvvergara cvvergara commented Aug 18, 2025

Updates the locale

@pgRouting/admins

Summary by CodeRabbit

  • New Features

    • Released 4.0.0 with standardized multi-signature APIs and new/expanded docs for contraction algorithms; added driving-side parameter in via/withPoints docs.
    • Expanded PostgreSQL test matrix support up to versions 17–18.
  • Documentation

    • Major Sphinx-based overhaul: new build targets, restructured categories, standardized result columns, updated paths, and many page rewrites/additions.
    • NEWS updated for 4.0.0; README adds DOI and CITATION.
  • Chores

    • Updated CI/workflows (docs checks, releases, website); removed legacy tidy and Transifex configs; improved locale update flow.
    • Added .clang-tidy and .gitignore entries.
  • Refactor

    • Build now requires CMake 3.12 and C++17; cleaner CMake options (including optional clang-tidy).

@cvvergara cvvergara added this to the Release 4.0.0 milestone Aug 18, 2025
@cvvergara cvvergara requested a review from robe2 August 18, 2025 16:24
@cvvergara cvvergara changed the base branch from main to develop August 18, 2025 16:24
Copy link
Contributor

coderabbitai bot commented Aug 18, 2025

Caution

Review failed

Failed to post review comments.

Walkthrough

Introduces pgRouting 4.0.0 with C++17, updated CMake (>=3.12), optional clang-tidy integration, and broad CI/workflow refactors. Documentation is extensively restructured (Sphinx targets, macros, categories), new contraction docs added, several legacy docs removed, locale tooling updated, and Transifex config removed. README/NEWS updated.

Changes

Cohort / File(s) Summary
Clang-Tidy config & integration
/.clang-tidy, /CMakeLists.txt, /.github/workflows/clang.yml, /.github/scripts/tidy-vs-commit.sh, /.github/workflows/tidy-check.yml
Adds project .clang-tidy; CMake option USE_CLANG_TIDY to wire clang-tidy; updates clang CI to use it; removes custom tidy script and workflow.
Core build/versioning
/CMakeLists.txt, /README.md, /NEWS.md
Bumps project to 4.0.0, requires CMake 3.12 and C++17, adds modular CMake policies, Boost/system includes, Perl find, and version/dev flags; README adds DOI/CITATION; NEWS replaced with 4.0.0 notes.
Ubuntu/CI matrices & workflows
.github/workflows/ubuntu.yml, .../update.yml, .../release.yml, .../boost_version.yml, .../check-queries.yml, .../doc-check.yml, .../website.yml
Expands PG versions, revises APT setup, updates boost provisioning, consolidates/simplifies CMake flags, adds doc checks (Doxygen/Sphinx paths), adjusts test setup and upgrade targets.
Locale update tooling
.github/scripts/update_locale.sh, .github/workflows/update-locale.yml
Switches build flags to BUILD_LOCALE, inlines obsolete-entry cleanup, moves workflow to new triggers/tools, installs Sphinx via apt, invokes new script path, adds push step.
Documentation build system
/doc/CMakeLists.txt, /doc/conf.py.in, /doc/_static/*, /doc/_templates/*, /doc/_static/images/*
Refactors Sphinx build: new BUILD_* options, language handling, per-format targets, sphinx-intl locale target, new build dirs, macros overhaul, static/templates/images CMake helpers added.
Docs content restructure (families/categories)
/doc/categories/*, /doc/*-family.rst, /doc/.../*.rst
Standardizes indices/anchors, reformats signature labels, updates See Also links, removes many figures, adds Boost headers, migrates result macro names, and reorganizes pages across families/categories.
Contraction feature docs
/doc/contraction/*, /doc/contraction/images/*
Adds pgr_contractionDeadEnd/Linear/Hierarchies docs; rewrites pgr_contraction (breaking signature/options), family overview modularized; adds example images.
Removed/retired docs
/doc/alpha_shape/*, /doc/breadthFirstSearch/* (CMake), /doc/driving_distance/CMakeLists.txt, /doc/ksp/CMakeLists.txt
Removes alpha_shape doc and some doc CMake wiring; prunes category builders.
Win build/test script
/ci/winnie/build_pgrouting.sh
Redesigns env defaults, PATH/BOOST handling, build/install flow, and unified test database execution with pg_prove; adds cleanup and strip.
Repository hygiene
/.gitignore, /.tx/config, /configuration.conf
Ignores .vscode and scripts; deletes Transifex config; updates module config (adds legacy/categories, toggles DOC flags, removes alpha_shape and some SQL-only dirs).

Sequence Diagram(s)

sequenceDiagram
  participant Dev as Developer
  participant CMake as CMake (project)
  participant Tidy as clang-tidy
  participant CI as GitHub Actions

  Dev->>CMake: -DUSE_CLANG_TIDY=ON
  CMake->>Tidy: Configure CMAKE_CXX_CLANG_TIDY (if found)
  CI->>CMake: Configure & build
  alt Tidy enabled
    CMake->>Tidy: Run checks per .clang-tidy
  else
    CMake-->>CI: Build without clang-tidy
  end
Loading
sequenceDiagram
  participant GH as GitHub Push
  participant WF as update-locale.yml
  participant Env as APT/Sphinx
  participant Script as .github/scripts/update_locale.sh
  participant Git as Git

  GH->>WF: Trigger on doc/** changes
  WF->>Env: Install sphinx, sphinx-intl, graphviz
  WF->>Script: BUILD_LOCALE=ON update
  Script->>Script: Clean obsolete entries, stage PO/POT
  WF->>Git: Commit and push locale updates
Loading

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Possibly related PRs

Suggested labels

Administrative, CI

Suggested reviewers

  • robe2

Poem

A rabbit taps the CMake drum,
Hops to four-oh—here we come!
Docs in rows, with tidy sight,
Sphinxes purr in HTML light.
CI burrows, green and bright—
Carrot commits, all tests alright. 🥕✨

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@cvvergara cvvergara merged commit 56ba85a into pgRouting:develop Aug 18, 2025
1 of 2 checks passed
@cvvergara cvvergara deleted the update-locale branch August 18, 2025 16:31
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