Skip to content

Commit 1214178

Browse files
authored
Merge branch 'master' into build/libosrm-cmake-config-package
2 parents 7512c69 + b9d7303 commit 1214178

118 files changed

Lines changed: 7692 additions & 5458 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-tidy

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,23 +77,24 @@ Checks: >
7777
-readability-inconsistent-declaration-parameter-name,
7878
-readability-isolate-declaration,
7979
-readability-identifier-length,
80-
-readability-redundant-declaration,
8180
-readability-uppercase-literal-suffix,
8281
-readability-named-parameter,
8382
-readability-qualified-auto,
84-
-readability-suspicious-call-argument,
8583
-readability-redundant-access-specifiers,
84+
-readability-redundant-casting,
85+
-readability-redundant-declaration,
86+
-readability-redundant-inline-specifier,
8687
-readability-redundant-member-init,
88+
-readability-redundant-string-init,
89+
readability-redundant-typename,
8790
-readability-static-definition-in-anonymous-namespace,
91+
-readability-suspicious-call-argument,
8892
-readability-use-anyofallof,
8993
-readability-simplify-boolean-expr,
9094
-readability-make-member-function-const,
91-
-readability-redundant-string-init,
9295
-readability-non-const-parameter,
93-
-readability-redundant-inline-specifier,
9496
-readability-avoid-nested-conditional-operator,
9597
-readability-avoid-return-with-void-value,
96-
-readability-redundant-casting,
9798
-readability-static-accessed-through-instance,
9899
-readability-math-missing-parentheses,
99100
-readability-use-concise-preprocessor-directives

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
open-pull-requests-limit: 10
8+
rebase-strategy: "auto"

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

Lines changed: 58 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,26 @@ on:
1111
type: string
1212

1313
env:
14-
SEMVER_REF: ${{ inputs.ref || github.ref }}
14+
SEMVER_REF: ${{ inputs.ref || github.ref_name }}
1515

1616
jobs:
1717
build-amd64:
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: ["debian"]
2222
runs-on: ubuntu-latest
2323
steps:
24+
- name: Configure DNS servers
25+
if: runner.os == 'Linux'
26+
run: |
27+
sudo rm -f /etc/resolv.conf
28+
{
29+
echo "nameserver 1.1.1.1"
30+
echo "nameserver 8.8.8.8"
31+
} | sudo tee /etc/resolv.conf > /dev/null
2432
- name: Check out the repo
25-
uses: actions/checkout@v6
33+
uses: actions/checkout@v7
2634
with:
2735
ref: ${{ inputs.ref || github.ref }}
2836

@@ -34,7 +42,10 @@ jobs:
3442
uses: docker/metadata-action@v6
3543
with:
3644
images: ghcr.io/${{ github.repository }}
45+
flavor: |
46+
latest=false
3747
tags: |
48+
type=raw,value=latest,suffix=-amd64-${{ matrix.docker-base-image }}
3849
type=semver,pattern=v{{version}},value=${{ env.SEMVER_REF }},suffix=-amd64-${{ matrix.docker-base-image }}
3950
type=semver,pattern={{version}},value=${{ env.SEMVER_REF }},suffix=-amd64-${{ matrix.docker-base-image }}
4051
type=semver,pattern={{major}}.{{minor}},value=${{ env.SEMVER_REF }},suffix=-amd64-${{ matrix.docker-base-image }}
@@ -86,6 +97,7 @@ jobs:
8697
file: ./docker/Dockerfile-${{ matrix.docker-base-image }}
8798
tags: ${{ steps.metadebug.outputs.tags }}
8899
labels: ${{ steps.metadebug.outputs.labels }}
100+
cache-from: type=gha,scope=docker-${{ matrix.docker-base-image }}
89101
build-args: |
90102
DOCKER_TAG=${{ join(steps.metadebug.outputs.tags ) }}-${{ matrix.docker-base-image }}
91103
@@ -97,6 +109,7 @@ jobs:
97109
file: ./docker/Dockerfile-${{ matrix.docker-base-image }}
98110
tags: ${{ steps.metaassertions.outputs.tags }}
99111
labels: ${{ steps.metaassertions.outputs.labels }}
112+
cache-from: type=gha,scope=docker-${{ matrix.docker-base-image }}
100113
build-args: |
101114
DOCKER_TAG=${{ join(steps.metaassertions.outputs.tags ) }}-${{ matrix.docker-base-image }}
102115
@@ -108,6 +121,7 @@ jobs:
108121
file: ./docker/Dockerfile-${{ matrix.docker-base-image }}
109122
tags: ${{ steps.meta.outputs.tags }}
110123
labels: ${{ steps.meta.outputs.labels }}
124+
cache-from: type=gha,scope=docker-${{ matrix.docker-base-image }}
111125
build-args: |
112126
DOCKER_TAG=${{ join(steps.meta.outputs.tags ) }}-${{ matrix.docker-base-image }}
113127
@@ -116,8 +130,16 @@ jobs:
116130
strategy: *docker-base-image-matrix
117131
runs-on: ubuntu-24.04-arm
118132
steps:
133+
- name: Configure DNS servers
134+
if: runner.os == 'Linux'
135+
run: |
136+
sudo rm -f /etc/resolv.conf
137+
{
138+
echo "nameserver 1.1.1.1"
139+
echo "nameserver 8.8.8.8"
140+
} | sudo tee /etc/resolv.conf > /dev/null
119141
- name: Check out the repo
120-
uses: actions/checkout@v6
142+
uses: actions/checkout@v7
121143
with:
122144
ref: ${{ inputs.ref || github.ref }}
123145

@@ -129,7 +151,10 @@ jobs:
129151
uses: docker/metadata-action@v6
130152
with:
131153
images: ghcr.io/${{ github.repository }}
154+
flavor: |
155+
latest=false
132156
tags: |
157+
type=raw,value=latest,suffix=-arm64-${{ matrix.docker-base-image }}
133158
type=semver,pattern=v{{version}},value=${{ env.SEMVER_REF }},suffix=-arm64-${{ matrix.docker-base-image }}
134159
type=semver,pattern={{version}},value=${{ env.SEMVER_REF }},suffix=-arm64-${{ matrix.docker-base-image }}
135160
type=semver,pattern={{major}}.{{minor}},value=${{ env.SEMVER_REF }},suffix=-arm64-${{ matrix.docker-base-image }}
@@ -181,6 +206,7 @@ jobs:
181206
file: ./docker/Dockerfile-${{ matrix.docker-base-image }}
182207
tags: ${{ steps.metadebug.outputs.tags }}
183208
labels: ${{ steps.metadebug.outputs.labels }}
209+
cache-from: type=gha,scope=docker-${{ matrix.docker-base-image }}
184210
build-args: |
185211
DOCKER_TAG=${{ join(steps.metadebug.outputs.tags ) }}-${{ matrix.docker-base-image }}
186212
@@ -192,6 +218,7 @@ jobs:
192218
file: ./docker/Dockerfile-${{ matrix.docker-base-image }}
193219
tags: ${{ steps.metaassertions.outputs.tags }}
194220
labels: ${{ steps.metaassertions.outputs.labels }}
221+
cache-from: type=gha,scope=docker-${{ matrix.docker-base-image }}
195222
build-args: |
196223
DOCKER_TAG=${{ join(steps.metaassertions.outputs.tags ) }}-${{ matrix.docker-base-image }}
197224
@@ -203,6 +230,7 @@ jobs:
203230
file: ./docker/Dockerfile-${{ matrix.docker-base-image }}
204231
tags: ${{ steps.meta.outputs.tags }}
205232
labels: ${{ steps.meta.outputs.labels }}
233+
cache-from: type=gha,scope=docker-${{ matrix.docker-base-image }}
206234
build-args: |
207235
DOCKER_TAG=${{ join(steps.meta.outputs.tags ) }}-${{ matrix.docker-base-image }}
208236
@@ -212,6 +240,14 @@ jobs:
212240
strategy: *docker-base-image-matrix
213241
runs-on: ubuntu-latest
214242
steps:
243+
- name: Configure DNS servers
244+
if: runner.os == 'Linux'
245+
run: |
246+
sudo rm -f /etc/resolv.conf
247+
{
248+
echo "nameserver 1.1.1.1"
249+
echo "nameserver 8.8.8.8"
250+
} | sudo tee /etc/resolv.conf > /dev/null
215251
- name: Set up Docker Buildx
216252
uses: docker/setup-buildx-action@v4
217253

@@ -254,7 +290,11 @@ jobs:
254290
MAJOR_MINOR="${VERSION%.*}"
255291
TAGS+=("$VERSION" "$MAJOR_MINOR")
256292
fi
257-
293+
294+
# Always include latest so the multi-arch manifest serves as the
295+
# default image for docker pull without an explicit version tag.
296+
TAGS+=("latest")
297+
258298
# Deduplicate tags while preserving order
259299
MANIFEST_TAGS=()
260300
declare -A SEEN_TAGS=()
@@ -269,8 +309,21 @@ jobs:
269309
270310
for IMAGE_SUFFIX in "" "-debug" "-assertions"; do
271311
for TAG in "${MANIFEST_TAGS[@]}"; do
312+
# The "latest" tag only applies to the base image, not to
313+
# -debug or -assertions variant suffixes.
314+
if [ "$TAG" = "latest" ] && [ -n "$IMAGE_SUFFIX" ]; then
315+
continue
316+
fi
272317
docker buildx imagetools create -t "$REGISTRY:${TAG}${IMAGE_SUFFIX}-${{ matrix.docker-base-image }}" \
273318
"$REGISTRY:${TAG}${IMAGE_SUFFIX}-amd64-${{ matrix.docker-base-image }}" \
274319
"$REGISTRY:${TAG}${IMAGE_SUFFIX}-arm64-${{ matrix.docker-base-image }}"
320+
321+
# Additionally create a bare "latest" multi-arch manifest (no
322+
# -debian suffix) so that "docker pull …:latest" works as expected.
323+
if [ "$TAG" = "latest" ] && [ -z "$IMAGE_SUFFIX" ]; then
324+
docker buildx imagetools create -t "$REGISTRY:latest" \
325+
"$REGISTRY:latest-amd64-${{ matrix.docker-base-image }}" \
326+
"$REGISTRY:latest-arm64-${{ matrix.docker-base-image }}"
327+
fi
275328
done
276329
done

0 commit comments

Comments
 (0)