Skip to content

Commit 4ec3fcf

Browse files
Initial commit (#7304)
Co-authored-by: Patrick Niklaus <[email protected]>
1 parent 2d6e565 commit 4ec3fcf

File tree

1 file changed

+68
-47
lines changed

1 file changed

+68
-47
lines changed

.github/workflows/osrm-backend.yml

Lines changed: 68 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
5858
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CONAN=ON -DENABLE_NODE_BINDINGS=ON ..
5959
cmake --build . --config Release
60-
60+
6161
# TODO: MSVC goes out of memory when building our tests
6262
# - name: Run tests
6363
# shell: bash
@@ -170,28 +170,25 @@ jobs:
170170
strategy:
171171
matrix:
172172
include:
173-
- name: gcc-13-debug-cov
173+
- name: clang-20-release
174174
continue-on-error: false
175175
node: 22
176176
runs-on: ubuntu-24.04
177-
BUILD_TYPE: Debug
178-
CCOMPILER: gcc-13
179-
CUCUMBER_TIMEOUT: 20000
180-
CXXCOMPILER: g++-13
181-
ENABLE_COVERAGE: ON
177+
BUILD_TYPE: Release
178+
CCOMPILER: clang-20
179+
CXXCOMPILER: clang++-20
180+
CUCUMBER_TIMEOUT: 60000
181+
ENABLE_LTO: OFF
182182

183-
- name: clang-18-debug-asan-ubsan
183+
- name: clang-19-release
184184
continue-on-error: false
185185
node: 22
186186
runs-on: ubuntu-24.04
187-
BUILD_TYPE: Debug
188-
CCOMPILER: clang-18
189-
CUCUMBER_TIMEOUT: 20000
190-
CXXCOMPILER: clang++-18
191-
ENABLE_SANITIZER: ON
192-
TARGET_ARCH: x86_64-asan-ubsan
193-
OSRM_CONNECTION_RETRIES: 10
194-
OSRM_CONNECTION_EXP_BACKOFF_COEF: 1.5
187+
BUILD_TYPE: Release
188+
CCOMPILER: clang-19
189+
CXXCOMPILER: clang++-19
190+
CUCUMBER_TIMEOUT: 60000
191+
ENABLE_LTO: OFF
195192

196193
- name: clang-18-release
197194
continue-on-error: false
@@ -225,6 +222,19 @@ jobs:
225222
NODE_PACKAGE_TESTS_ONLY: ON
226223
ENABLE_LTO: OFF
227224

225+
- name: clang-18-debug-asan-ubsan
226+
continue-on-error: false
227+
node: 22
228+
runs-on: ubuntu-24.04
229+
BUILD_TYPE: Debug
230+
CCOMPILER: clang-18
231+
CUCUMBER_TIMEOUT: 20000
232+
CXXCOMPILER: clang++-18
233+
ENABLE_SANITIZER: ON
234+
TARGET_ARCH: x86_64-asan-ubsan
235+
OSRM_CONNECTION_RETRIES: 10
236+
OSRM_CONNECTION_EXP_BACKOFF_COEF: 1.5
237+
228238
- name: clang-17-release
229239
continue-on-error: false
230240
node: 20
@@ -245,27 +255,6 @@ jobs:
245255
CUCUMBER_TIMEOUT: 60000
246256
ENABLE_LTO: OFF
247257

248-
- name: conan-linux-debug-asan-ubsan
249-
continue-on-error: false
250-
node: 20
251-
runs-on: ubuntu-24.04
252-
BUILD_TYPE: Release
253-
CCOMPILER: clang-18
254-
CXXCOMPILER: clang++-18
255-
ENABLE_CONAN: ON
256-
ENABLE_SANITIZER: ON
257-
ENABLE_LTO: OFF
258-
259-
- name: conan-linux-release
260-
continue-on-error: false
261-
node: 20
262-
runs-on: ubuntu-24.04
263-
BUILD_TYPE: Release
264-
CCOMPILER: clang-18
265-
CXXCOMPILER: clang++-18
266-
ENABLE_CONAN: ON
267-
ENABLE_LTO: OFF
268-
269258
- name: gcc-14-release
270259
continue-on-error: false
271260
node: 22
@@ -284,6 +273,16 @@ jobs:
284273
CXXCOMPILER: g++-13
285274
CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized'
286275

276+
- name: gcc-13-debug-cov
277+
continue-on-error: false
278+
node: 22
279+
runs-on: ubuntu-24.04
280+
BUILD_TYPE: Debug
281+
CCOMPILER: gcc-13
282+
CUCUMBER_TIMEOUT: 20000
283+
CXXCOMPILER: g++-13
284+
ENABLE_COVERAGE: ON
285+
287286
- name: gcc-12-release
288287
continue-on-error: false
289288
node: 22
@@ -293,6 +292,27 @@ jobs:
293292
CXXCOMPILER: g++-12
294293
CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized'
295294

295+
- name: conan-linux-release
296+
continue-on-error: false
297+
node: 20
298+
runs-on: ubuntu-24.04
299+
BUILD_TYPE: Release
300+
CCOMPILER: clang-18
301+
CXXCOMPILER: clang++-18
302+
ENABLE_CONAN: ON
303+
ENABLE_LTO: OFF
304+
305+
- name: conan-linux-debug-asan-ubsan
306+
continue-on-error: false
307+
node: 20
308+
runs-on: ubuntu-24.04
309+
BUILD_TYPE: Release
310+
CCOMPILER: clang-18
311+
CXXCOMPILER: clang++-18
312+
ENABLE_CONAN: ON
313+
ENABLE_SANITIZER: ON
314+
ENABLE_LTO: OFF
315+
296316
- name: conan-linux-release-node
297317
build_node_package: true
298318
continue-on-error: false
@@ -331,7 +351,7 @@ jobs:
331351
build_node_package: true
332352
continue-on-error: true
333353
node: 22
334-
runs-on: macos-15 # arm64
354+
runs-on: macos-15 # arm64
335355
BUILD_TYPE: Release
336356
CCOMPILER: clang
337357
CXXCOMPILER: clang++
@@ -419,7 +439,7 @@ jobs:
419439
fi
420440
# See: https://github.com/actions/toolkit/issues/946#issuecomment-1590016041
421441
# We need it to be able to access system folders while restoring cached Boost below
422-
- name: Give tar root ownership
442+
- name: Give tar root ownership
423443
if: runner.os == 'Linux' && matrix.ENABLE_CONAN != 'ON'
424444
run: sudo chown root /bin/tar && sudo chmod u+s /bin/tar
425445

@@ -429,7 +449,7 @@ jobs:
429449
id: install-boost
430450
with:
431451
boost_version: 1.85.0
432-
452+
433453
- name: Install dev dependencies
434454
run: |
435455
# workaround for issue that GitHub Actions seems to not adding it to PATH after https://github.com/actions/runner-images/pull/6499
@@ -438,20 +458,21 @@ jobs:
438458
echo "/Library/Frameworks/Python.framework/Versions/Current/bin" >> $GITHUB_PATH
439459
fi
440460
441-
# ccache
461+
# Update package list
462+
if [[ "${RUNNER_OS}" == "Linux" || "${ENABLE_CONAN}" != "ON" ]]; then
463+
sudo apt-get update -y
464+
fi
465+
466+
# Install compiler and ccache
442467
if [[ "${RUNNER_OS}" == "Linux" ]]; then
443-
sudo apt-get update -y && sudo apt-get install ccache
468+
sudo apt-get install -y ${CCOMPILER} ${CXXCOMPILER} ccache
444469
elif [[ "${RUNNER_OS}" == "macOS" ]]; then
445470
brew install ccache
446471
fi
447472
448473
# Linux dev packages
449-
if [ "${ENABLE_CONAN}" != "ON" ]; then
450-
sudo apt-get update -y
474+
if [[ "${ENABLE_CONAN}" != "ON" ]]; then
451475
sudo apt-get install -y libbz2-dev libxml2-dev libzip-dev liblua5.2-dev
452-
if [[ "${CCOMPILER}" != clang-* ]]; then
453-
sudo apt-get install -y ${CXXCOMPILER}
454-
fi
455476
if [[ "${ENABLE_COVERAGE}" == "ON" ]]; then
456477
sudo apt-get install -y lcov
457478
fi

0 commit comments

Comments
 (0)