Skip to content

Commit a66c9d4

Browse files
authored
chore: bump vcpkg baseline, Alpine to 3.23.4, add curl-dev, drop broken CI dispatch (#7599)
* chore: bump vcpkg baseline, Alpine to 3.23.4, add curl-dev, drop broken CI dispatch - Bump vcpkg baseline commit from c3867e7 to d015e31 across all workflow files, Dockerfiles, and vcpkg-configuration.json - Bump Alpine base image from 3.21.2 to 3.23.4 - Add curl-dev to Alpine builder dependencies - Remove 'Trigger CI for tag' step from release-monthly.yml: the GITHUB_TOKEN push doesn't trigger workflow runs, making this dispatch ineffective; binaries are now built via the tag-triggered osrm-backend.yml run directly * chore: switch to Alpine-only Docker images, drop Debian support - Delete docker/Dockerfile-debian - Replace docker/Dockerfile symlink with full Alpine-based Dockerfile - Fix Dockerfile-alpine comment that referenced Dockerfile-debian - Remove 'debian' from docker-base-image matrices in both CI workflows - Update README: Debian → Alpine Linux * fix: add perl-ipc-cmd to Alpine Dockerfiles for OpenSSL vcpkg build vcpkg's openssl port requires Perl IPC::Cmd module, which is packaged separately from base perl on Alpine. * Revert "fix: add perl-ipc-cmd to Alpine Dockerfiles for OpenSSL vcpkg build" perl-ipc-cmd doesn't exist as a separate Alpine package — IPC::Cmd is included in Alpine's base perl package (verified on perl 5.42.2-r0). * chore: symlink docker/Dockerfile to Dockerfile-alpine Since we only support Alpine now, the default Dockerfile should point to the Alpine variant to avoid duplication and drift.
1 parent 4957cd6 commit a66c9d4

9 files changed

Lines changed: 17 additions & 145 deletions

File tree

.github/workflows/osrm-backend-docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
if: github.repository == 'Project-OSRM/osrm-backend'
1919
strategy: &docker-base-image-matrix
2020
matrix:
21-
docker-base-image: ["debian", "alpine"]
21+
docker-base-image: ["alpine"]
2222
runs-on: ubuntu-latest
2323
steps:
2424
- name: Check out the repo

.github/workflows/osrm-backend.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ env:
1818
ENABLE_NODE_BINDINGS: 'ON'
1919
# vcpkg baseline is also pinned in vcpkg-configuration.json; this env var
2020
# is what lukka/run-vcpkg consumes to pick the vcpkg tool version.
21-
VCPKG_COMMIT_ID: c3867e714dd3a51c272826eea77267876517ed99
21+
VCPKG_COMMIT_ID: d015e31e90838a4c9dfa3eed45979bc70d9357fc
2222
# Use a local filesystem directory as vcpkg's binary cache. The directory
2323
# itself is persisted across CI runs via actions/cache@v5. The x-gha
2424
# backend was removed upstream; files+actions/cache is the replacement.
@@ -215,7 +215,7 @@ jobs:
215215
docker-image-matrix:
216216
strategy:
217217
matrix:
218-
docker-base-image: ['debian', 'alpine']
218+
docker-base-image: ['alpine']
219219
needs: [format-taginfo-docs, vcpkg-smoke-prereq]
220220
if: github.repository == 'Project-OSRM/osrm-backend'
221221
runs-on: ubuntu-22.04
@@ -240,7 +240,7 @@ jobs:
240240
tags: osrm-backend-local
241241
load: true
242242
# Persist BuildKit layer + vcpkg/ccache mount cache across runs via
243-
# GitHub Actions cache. Scope per base image so alpine/debian don't
243+
# GitHub Actions cache. Scope per base image so different images don't
244244
# collide.
245245
cache-from: type=gha,scope=docker-${{ matrix.docker-base-image }}
246246
cache-to: type=gha,mode=max,scope=docker-${{ matrix.docker-base-image }}

.github/workflows/release-monthly.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -143,15 +143,6 @@ jobs:
143143
git push origin "$BRANCH"
144144
git push origin "${{ steps.version.outputs.tag }}"
145145
146-
- name: Trigger CI for tag
147-
env:
148-
GH_TOKEN: ${{ secrets.BACKEND_RELEASE_TOKEN }}
149-
run: |
150-
# GITHUB_TOKEN pushes don't trigger workflow runs (prevents loops).
151-
# Explicitly dispatch CI on the tag so binaries get built and uploaded.
152-
gh workflow run osrm-backend.yml --ref "${{ steps.version.outputs.tag }}"
153-
echo "Dispatched osrm-backend.yml on ${{ steps.version.outputs.tag }}"
154-
155146
- name: Generate changelog
156147
id: changelog
157148
run: |

.github/workflows/vcpkg-smoke.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ concurrency:
3131

3232
env:
3333
# Keep in sync with vcpkg-configuration.json baseline.
34-
VCPKG_COMMIT_ID: c3867e714dd3a51c272826eea77267876517ed99
34+
VCPKG_COMMIT_ID: d015e31e90838a4c9dfa3eed45979bc70d9357fc
3535
# Use a local filesystem directory as vcpkg's binary cache. The directory
3636
# itself is persisted across CI runs via actions/cache@v5. The x-gha
3737
# backend was removed upstream; files+actions/cache is the replacement.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ If you want to use the CH pipeline instead replace `osrm-partition` and `osrm-cu
6262

6363
### Using Docker
6464

65-
We base our Docker images ([backend](https://github.com/Project-OSRM/osrm-backend/pkgs/container/osrm-backend), [frontend](https://hub.docker.com/r/osrm/osrm-frontend/)) on Debian and make sure they are as lightweight as possible. Older backend versions can be found on [Docker Hub](https://hub.docker.com/r/osrm/osrm-backend/).
65+
We base our Docker images ([backend](https://github.com/Project-OSRM/osrm-backend/pkgs/container/osrm-backend), [frontend](https://hub.docker.com/r/osrm/osrm-frontend/)) on Alpine Linux and make sure they are as lightweight as possible. Older backend versions can be found on [Docker Hub](https://hub.docker.com/r/osrm/osrm-backend/).
6666

6767
Download OpenStreetMap extracts for example from [Geofabrik](http://download.geofabrik.de/)
6868

docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Dockerfile-debian
1+
Dockerfile-alpine

docker/Dockerfile-alpine

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# syntax=docker/dockerfile:1.7
2-
FROM alpine:3.21.2 AS alpine-mimalloc
2+
FROM alpine:3.23.4 AS alpine-mimalloc
33

44
RUN apk update && \
55
apk upgrade && \
@@ -13,7 +13,7 @@ FROM alpine-mimalloc AS builder
1313
ARG DOCKER_TAG
1414
ARG BUILD_CONCURRENCY
1515
# Pinned vcpkg baseline; keep in sync with vcpkg-configuration.json at the repo root.
16-
ARG VCPKG_COMMIT=c3867e714dd3a51c272826eea77267876517ed99
16+
ARG VCPKG_COMMIT=d015e31e90838a4c9dfa3eed45979bc70d9357fc
1717

1818
# vcpkg needs system-provided build tools on musl — VCPKG_FORCE_SYSTEM_BINARIES
1919
# prevents it from downloading glibc-built cmake/ninja that would fail on Alpine.
@@ -26,6 +26,7 @@ RUN apk add --no-cache \
2626
ccache \
2727
cmake \
2828
curl \
29+
curl-dev \
2930
g++ \
3031
gcc \
3132
git \
@@ -50,8 +51,12 @@ RUN git clone --no-checkout https://github.com/microsoft/vcpkg.git ${VCPKG_ROOT}
5051

5152
WORKDIR /src
5253

53-
# Install manifest deps as their own layer — see Dockerfile-debian for the
54-
# rationale. Cache mounts persist across docker builds on the host.
54+
# Install manifest deps as their own layer so source-only changes don't
55+
# invalidate the (expensive) vcpkg install. The three cache mounts persist
56+
# across docker builds on the host:
57+
# - /root/.cache/vcpkg/archives : vcpkg's per-package binary cache (the big win)
58+
# - /vcpkg/downloads : upstream tarball cache (avoids re-downloading boost, etc.)
59+
# - /vcpkg/buildtrees : partial builds (helps when a single port fails)
5560
COPY vcpkg.json vcpkg-configuration.json ./
5661
COPY vcpkg-overlay-ports/ ./vcpkg-overlay-ports/
5762
RUN --mount=type=cache,target=/root/.cache/vcpkg/archives,sharing=locked \

docker/Dockerfile-debian

Lines changed: 0 additions & 124 deletions
This file was deleted.

vcpkg-configuration.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"default-registry": {
44
"kind": "git",
55
"repository": "https://github.com/microsoft/vcpkg",
6-
"baseline": "c3867e714dd3a51c272826eea77267876517ed99"
6+
"baseline": "d015e31e90838a4c9dfa3eed45979bc70d9357fc"
77
},
88
"overlay-ports": [
99
"vcpkg-overlay-ports"

0 commit comments

Comments
 (0)