Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,20 @@ jobs:
strategy:
fail-fast: false
matrix:
postgres: [13, 14, 15, 16, 17]
postgis: [3.5]
pgrouting: [3.6, 3.7, 3.8, main, develop]
postgres: [14, 15, 16, 17, 18]
postgis: [3.5, 3.6]
pgrouting: ['3.7', '3.8', '4.0', 'main', 'develop']
exclude:
- postgres: 18
postgis: 3.5
- postgres: 17
postgis: 3.6
- postgres: 16
postgis: 3.6
- postgres: 15
postgis: 3.6
- postgres: 14
postgis: 3.6

name: Build Docker image for ${{ matrix.postgres }}-${{ matrix.postgis }}-${{ matrix.pgrouting }}
runs-on: ubuntu-24.04
Expand Down
3 changes: 0 additions & 3 deletions 13-3.5-3.6/README.md

This file was deleted.

1 change: 0 additions & 1 deletion 13-3.5-3.6/version.txt

This file was deleted.

3 changes: 0 additions & 3 deletions 13-3.5-3.7/README.md

This file was deleted.

1 change: 0 additions & 1 deletion 13-3.5-3.7/version.txt

This file was deleted.

3 changes: 0 additions & 3 deletions 13-3.5-3.8/README.md

This file was deleted.

1 change: 0 additions & 1 deletion 13-3.5-3.8/version.txt

This file was deleted.

3 changes: 0 additions & 3 deletions 13-3.5-develop/README.md

This file was deleted.

1 change: 0 additions & 1 deletion 13-3.5-develop/version.txt

This file was deleted.

3 changes: 0 additions & 3 deletions 13-3.5-main/README.md

This file was deleted.

1 change: 0 additions & 1 deletion 13-3.5-main/version.txt

This file was deleted.

3 changes: 0 additions & 3 deletions 14-3.5-3.6/README.md

This file was deleted.

11 changes: 0 additions & 11 deletions 14-3.5-3.6/docker-compose.yml

This file was deleted.

45 changes: 0 additions & 45 deletions 14-3.5-3.6/extra/Dockerfile

This file was deleted.

1 change: 0 additions & 1 deletion 14-3.5-3.6/version.txt

This file was deleted.

2 changes: 1 addition & 1 deletion 14-3.5-3.7/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:14-3.5-3.7.3

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0

RUN apt update \
&& apt install -y \
Expand Down
2 changes: 1 addition & 1 deletion 14-3.5-3.8/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:14-3.5-3.8.0

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0

RUN apt update \
&& apt install -y \
Expand Down
4 changes: 2 additions & 2 deletions 14-3.5-3.6/Dockerfile → 14-3.5-4.0/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ FROM postgis/postgis:14-3.5

LABEL maintainer="pgRouting Project - https://pgrouting.org"

ENV PGROUTING_VERSION=3.6.3
ENV PGROUTING_SHA256=d14b424534be8f69cfd1fdc8cb41a23e531c04954ee8d974514615b74b8219fe
ENV PGROUTING_VERSION=4.0.0
ENV PGROUTING_SHA256=ae87d30652b4a7824509e2652e02bde19e1a42c37906cdf1824b5df40af0bfd0

RUN set -ex \
&& apt update \
Expand Down
3 changes: 3 additions & 0 deletions 14-3.5-4.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# pgRouting 4.0.0 (pg14)

pgRouting Docker image (version 4.0.0) built over [Postgres 14/PostGIS 3.5](https://hub.docker.com/r/postgis/postgis) and dependencies.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
pgrouting:
image: pgrouting/pgrouting:13-3.5-3.7.3
image: pgrouting/pgrouting:14-3.5-4.0.0
ports:
- "5432:5432"
volumes:
Expand Down
4 changes: 2 additions & 2 deletions 13-3.5-3.8/extra/Dockerfile → 14-3.5-4.0/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:13-3.5-3.8.0
FROM pgrouting/pgrouting:14-3.5-4.0.0

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0

RUN apt update \
&& apt install -y \
Expand Down
1 change: 1 addition & 0 deletions 14-3.5-4.0/version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
14-3.5-4.0.0
2 changes: 1 addition & 1 deletion 14-3.5-develop/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:14-3.5-develop

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

osm2pgrouting v3.0.0 release GitHub pgRouting

💡 Result:

osm2pgrouting v3.0.0 was released — highlights:

  • Requires cmake >= 3.12 and changes the geometry column name to geom. [1]
  • New "ways" table structure (id as bigint identity, geom geometry(LineString,4326), new/renamed columns such as length_m, source_osm/target_osm, etc.). [1]
  • New "ways_vertices_pgr" structure (id identity, in_edges/out_edges bigint[], stored x/y numeric, geom geometry(Point,4326)). [1]
  • Announcement/notes also referenced on release trackers and pgRouting/OSGeo discussion. [2][3]

Sources: GitHub release notes for v3.0.0. [1] Additional release summary/trackers. [2][3]


🏁 Script executed:

#!/bin/bash
# Check osm2pgrouting GitHub repository for v3.0.0 release
# Using curl instead of gh CLI since gh might not be available

echo "=== Checking osm2pgrouting releases via GitHub API ==="
curl -s "https://api.github.com/repos/pgRouting/osm2pgrouting/releases" | jq -r '.[] | "\(.tag_name) - \(.published_at)"' | head -20

echo ""
echo "=== Checking specifically for v3.0.0 ==="
curl -s "https://api.github.com/repos/pgRouting/osm2pgrouting/releases/tags/v3.0.0" | jq -r '.tag_name // "NOT FOUND"'

echo ""
echo "=== Checking osm2pgrouting repository tags ==="
curl -s "https://api.github.com/repos/pgRouting/osm2pgrouting/tags" | jq -r '.[] | .name' | head -20

Repository: pgRouting/docker-pgrouting

Length of output: 1229


🏁 Script executed:

#!/bin/bash
# Check if tools/osmium directory exists in v3.0.0
echo "=== Checking tools/osmium in v3.0.0 ==="
curl -s "https://api.github.com/repos/pgRouting/osm2pgrouting/contents/tools/osmium?ref=v3.0.0" | jq -r '.name // "NOT FOUND"'

echo ""
echo "=== Checking osm2pgrouting 3.0.0 CMakeLists.txt for build requirements ==="
curl -s "https://raw.githubusercontent.com/pgRouting/osm2pgrouting/v3.0.0/CMakeLists.txt" | head -50

echo ""
echo "=== Checking osm2pgrouting 3.0.0 README for dependencies ==="
curl -s "https://raw.githubusercontent.com/pgRouting/osm2pgrouting/v3.0.0/README.md" | head -80

Repository: pgRouting/docker-pgrouting

Length of output: 3879


🏁 Script executed:

#!/bin/bash
# Read the Dockerfile to see the actual build steps
echo "=== Reading 14-3.5-develop/extra/Dockerfile ==="
cat -n "14-3.5-develop/extra/Dockerfile"

Repository: pgRouting/docker-pgrouting

Length of output: 1506


Remove tools/osmium build steps—this directory no longer exists in osm2pgrouting v3.0.0.

The tools/osmium directory was removed in v3.0.0 (released 2025-11-01). Lines 27-32 will cause the build to fail. The osm2pgrouting 3.0.0 build itself (lines 22-26) is compatible with the specified dependencies (cmake >= 3.12, libpqxx-6.4, boost, expat, libosmium2) and should complete successfully without the osmium tool build steps.

Affected lines
 && cd ../tools/osmium/ \
 && mkdir build \
 && cd build \
 && cmake .. \
 && make \
 && make install \
🤖 Prompt for AI Agents
In @14-3.5-develop/extra/Dockerfile at line 3, The Dockerfile sets ENV
OSM2PGROUTING_VERSION but still includes an obsolete build block for
tools/osmium; remove the entire tools/osmium build step (the sequence starting
with "cd ../tools/osmium" through "make install") so the image builds against
osm2pgrouting v3.0.0 without trying to build the removed tools/osmium directory;
keep the existing osm2pgrouting build steps (the cmake/make sequence for
osm2pgrouting) and ensure no other references to tools/osmium remain.


RUN apt update \
&& apt install -y \
Expand Down
2 changes: 1 addition & 1 deletion 14-3.5-main/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:14-3.5-main

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Check if osm2pgrouting 3.0.0 release exists
curl -s "https://api.github.com/repos/pgRouting/osm2pgrouting/releases/tags/v3.0.0" | jq -r 'if .message then .message else "\(.tag_name) - Published: \(.published_at)" end'

# Also check the releases list to see available versions
curl -s "https://api.github.com/repos/pgRouting/osm2pgrouting/releases?per_page=10" | jq -r '.[].tag_name' | head -20

Repository: pgRouting/docker-pgrouting

Length of output: 180


🌐 Web query:

osm2pgrouting 3.0.0 release compatibility pgRouting

💡 Result:

osm2pgrouting 3.0.0 is the release that accompanies pgRouting 4.0.0 and is intended to be used with pgRouting 4.x (dependency shown as pgRouting 4.0.0). [1][2][3]

Sources:

  • pgRouting/osm2pgrouting repository (release/README). [1]
  • Homebrew formula showing osm2pgrouting 3.0.0 depends on pgrouting 4.0.0. [2]
  • pgRouting release announcement listing pgRouting 4.0.0 and osm2pgrouting 3.0.0 together. [3]

Version incompatibility: osm2pgrouting 3.0.0 requires pgRouting 4.x, but the base image uses pgRouting 3.5.

osm2pgrouting 3.0.0 is designed for and depends on pgRouting 4.0.0+. The base image 14-3.5-main provides pgRouting 3.5, which is incompatible with this version. Either downgrade to osm2pgrouting 2.3.9 (the latest 2.x release) or update the base image to pgRouting 4.x.


RUN apt update \
&& apt install -y \
Expand Down
3 changes: 0 additions & 3 deletions 15-3.5-3.6/README.md

This file was deleted.

11 changes: 0 additions & 11 deletions 15-3.5-3.6/docker-compose.yml

This file was deleted.

45 changes: 0 additions & 45 deletions 15-3.5-3.6/extra/Dockerfile

This file was deleted.

1 change: 0 additions & 1 deletion 15-3.5-3.6/version.txt

This file was deleted.

2 changes: 1 addition & 1 deletion 15-3.5-3.7/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:15-3.5-3.7.3

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0

RUN apt update \
&& apt install -y \
Expand Down
2 changes: 1 addition & 1 deletion 15-3.5-3.8/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:15-3.5-3.8.0

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0

RUN apt update \
&& apt install -y \
Expand Down
4 changes: 2 additions & 2 deletions 15-3.5-3.6/Dockerfile → 15-3.5-4.0/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ FROM postgis/postgis:15-3.5

LABEL maintainer="pgRouting Project - https://pgrouting.org"

ENV PGROUTING_VERSION=3.6.3
ENV PGROUTING_SHA256=d14b424534be8f69cfd1fdc8cb41a23e531c04954ee8d974514615b74b8219fe
ENV PGROUTING_VERSION=4.0.0
ENV PGROUTING_SHA256=ae87d30652b4a7824509e2652e02bde19e1a42c37906cdf1824b5df40af0bfd0

RUN set -ex \
&& apt update \
Expand Down
3 changes: 3 additions & 0 deletions 15-3.5-4.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# pgRouting 4.0.0 (pg15)

pgRouting Docker image (version 4.0.0) built over [Postgres 15/PostGIS 3.5](https://hub.docker.com/r/postgis/postgis) and dependencies.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
pgrouting:
image: pgrouting/pgrouting:13-3.5-3.8.0
image: pgrouting/pgrouting:15-3.5-4.0.0
ports:
- "5432:5432"
volumes:
Expand Down
4 changes: 2 additions & 2 deletions 13-3.5-main/extra/Dockerfile → 15-3.5-4.0/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:13-3.5-main
FROM pgrouting/pgrouting:15-3.5-4.0.0

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0

RUN apt update \
&& apt install -y \
Expand Down
1 change: 1 addition & 0 deletions 15-3.5-4.0/version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
15-3.5-4.0.0
2 changes: 1 addition & 1 deletion 15-3.5-develop/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:15-3.5-develop

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0

RUN apt update \
&& apt install -y \
Expand Down
2 changes: 1 addition & 1 deletion 15-3.5-main/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:15-3.5-main

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0

RUN apt update \
&& apt install -y \
Expand Down
3 changes: 0 additions & 3 deletions 16-3.5-3.6/README.md

This file was deleted.

11 changes: 0 additions & 11 deletions 16-3.5-3.6/docker-compose.yml

This file was deleted.

45 changes: 0 additions & 45 deletions 16-3.5-3.6/extra/Dockerfile

This file was deleted.

1 change: 0 additions & 1 deletion 16-3.5-3.6/version.txt

This file was deleted.

2 changes: 1 addition & 1 deletion 16-3.5-3.7/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:16-3.5-3.7.3

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0

RUN apt update \
&& apt install -y \
Expand Down
2 changes: 1 addition & 1 deletion 16-3.5-3.8/extra/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM pgrouting/pgrouting:16-3.5-3.8.0

ENV OSM2PGROUTING_VERSION=2.3.8
ENV OSM2PGROUTING_VERSION=3.0.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

osm2pgrouting 3.0.0 breaking changes release notes

💡 Result:

Summary of breaking changes in osm2pgrouting 3.0.0

  • Build: requires CMake >= 3.12. [1]
  • Geometry column renamed from the_geom to geom (geometry column name: geom). [1]
  • "ways" table reworked (column changes: gid→id (identity), added/renamed columns such as osm_id, tag_id, length_m, source_osm/target_osm, cost/reverse_cost/cost_s/reverse_cost_s, rule, one_way/oneway, x1/y1/x2/y2, maxspeed_forward/backward, priority, geom geometry(LineString,4326), etc.). [1]
  • "ways_vertices_pgr" table restructured: id (identity), new in_edges and out_edges bigint[] columns, x and y as numeric(11,8) (stored from geom), osm_id, geom geometry(Point,4326). [1]
  • General schema/column name and table-structure incompatibilities with pre-3.x databases (migration required). [1][2]

Sources: release notes / changelog for osm2pgrouting 3.0.0. [1] NewReleases summary of v3.0.0; [2] Debian package metadata showing upstream 3.0.0.


🏁 Script executed:

cd 16-3.5-3.8/extra && cat -n Dockerfile

Repository: pgRouting/docker-pgrouting

Length of output: 1456


osm2pgrouting 3.0.0 upgrade requires breaking change documentation.

The version upgrade is appropriate and the build process is compatible with 3.0.0. However, osm2pgrouting 3.0.0 introduces significant breaking changes that require user attention:

  • Geometry column renamed from the_geom to geom
  • ways table restructured with column renames and additions (gid→id, osm_id, tag_id, etc.)
  • ways_vertices_pgr table restructured with new columns (in_edges, out_edges)
  • Databases upgrading from 2.3.8 require schema migration

Ensure the PR or release notes clearly document these breaking changes and provide migration guidance for users.

🤖 Prompt for AI Agents
In @16-3.5-3.8/extra/Dockerfile at line 3, You updated ENV OSM2PGROUTING_VERSION
to 3.0.0 but did not document the breaking changes; update the PR description
and repository release notes (and README or CHANGELOG) to list the breaking
changes for osm2pgrouting 3.0.0—specifically the geometry column rename
(the_geom → geom), ways table restructures and column renames/additions (gid →
id, osm_id, tag_id, etc.), ways_vertices_pgr new columns (in_edges, out_edges),
and that databases upgrading from 2.3.8 require a schema migration—and include
clear migration guidance or links to migration scripts/SQL and any commands
users must run to upgrade their schemas safely.


RUN apt update \
&& apt install -y \
Expand Down
Loading