diff --git a/.github/workflows/osrm-backend.yml b/.github/workflows/osrm-backend.yml index 37d200e0e6..076138eada 100644 --- a/.github/workflows/osrm-backend.yml +++ b/.github/workflows/osrm-backend.yml @@ -57,7 +57,7 @@ jobs: cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CONAN=ON -DENABLE_NODE_BINDINGS=ON .. cmake --build . --config Release - + # TODO: MSVC goes out of memory when building our tests # - name: Run tests # shell: bash @@ -170,28 +170,25 @@ jobs: strategy: matrix: include: - - name: gcc-13-debug-cov + - name: clang-20-release continue-on-error: false node: 22 runs-on: ubuntu-24.04 - BUILD_TYPE: Debug - CCOMPILER: gcc-13 - CUCUMBER_TIMEOUT: 20000 - CXXCOMPILER: g++-13 - ENABLE_COVERAGE: ON + BUILD_TYPE: Release + CCOMPILER: clang-20 + CXXCOMPILER: clang++-20 + CUCUMBER_TIMEOUT: 60000 + ENABLE_LTO: OFF - - name: clang-18-debug-asan-ubsan + - name: clang-19-release continue-on-error: false node: 22 runs-on: ubuntu-24.04 - BUILD_TYPE: Debug - CCOMPILER: clang-18 - CUCUMBER_TIMEOUT: 20000 - CXXCOMPILER: clang++-18 - ENABLE_SANITIZER: ON - TARGET_ARCH: x86_64-asan-ubsan - OSRM_CONNECTION_RETRIES: 10 - OSRM_CONNECTION_EXP_BACKOFF_COEF: 1.5 + BUILD_TYPE: Release + CCOMPILER: clang-19 + CXXCOMPILER: clang++-19 + CUCUMBER_TIMEOUT: 60000 + ENABLE_LTO: OFF - name: clang-18-release continue-on-error: false @@ -225,6 +222,19 @@ jobs: NODE_PACKAGE_TESTS_ONLY: ON ENABLE_LTO: OFF + - name: clang-18-debug-asan-ubsan + continue-on-error: false + node: 22 + runs-on: ubuntu-24.04 + BUILD_TYPE: Debug + CCOMPILER: clang-18 + CUCUMBER_TIMEOUT: 20000 + CXXCOMPILER: clang++-18 + ENABLE_SANITIZER: ON + TARGET_ARCH: x86_64-asan-ubsan + OSRM_CONNECTION_RETRIES: 10 + OSRM_CONNECTION_EXP_BACKOFF_COEF: 1.5 + - name: clang-17-release continue-on-error: false node: 20 @@ -245,27 +255,6 @@ jobs: CUCUMBER_TIMEOUT: 60000 ENABLE_LTO: OFF - - name: conan-linux-debug-asan-ubsan - continue-on-error: false - node: 20 - runs-on: ubuntu-24.04 - BUILD_TYPE: Release - CCOMPILER: clang-18 - CXXCOMPILER: clang++-18 - ENABLE_CONAN: ON - ENABLE_SANITIZER: ON - ENABLE_LTO: OFF - - - name: conan-linux-release - continue-on-error: false - node: 20 - runs-on: ubuntu-24.04 - BUILD_TYPE: Release - CCOMPILER: clang-18 - CXXCOMPILER: clang++-18 - ENABLE_CONAN: ON - ENABLE_LTO: OFF - - name: gcc-14-release continue-on-error: false node: 22 @@ -284,6 +273,16 @@ jobs: CXXCOMPILER: g++-13 CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized' + - name: gcc-13-debug-cov + continue-on-error: false + node: 22 + runs-on: ubuntu-24.04 + BUILD_TYPE: Debug + CCOMPILER: gcc-13 + CUCUMBER_TIMEOUT: 20000 + CXXCOMPILER: g++-13 + ENABLE_COVERAGE: ON + - name: gcc-12-release continue-on-error: false node: 22 @@ -293,6 +292,27 @@ jobs: CXXCOMPILER: g++-12 CXXFLAGS: '-Wno-array-bounds -Wno-uninitialized' + - name: conan-linux-release + continue-on-error: false + node: 20 + runs-on: ubuntu-24.04 + BUILD_TYPE: Release + CCOMPILER: clang-18 + CXXCOMPILER: clang++-18 + ENABLE_CONAN: ON + ENABLE_LTO: OFF + + - name: conan-linux-debug-asan-ubsan + continue-on-error: false + node: 20 + runs-on: ubuntu-24.04 + BUILD_TYPE: Release + CCOMPILER: clang-18 + CXXCOMPILER: clang++-18 + ENABLE_CONAN: ON + ENABLE_SANITIZER: ON + ENABLE_LTO: OFF + - name: conan-linux-release-node build_node_package: true continue-on-error: false @@ -331,7 +351,7 @@ jobs: build_node_package: true continue-on-error: true node: 22 - runs-on: macos-15 # arm64 + runs-on: macos-15 # arm64 BUILD_TYPE: Release CCOMPILER: clang CXXCOMPILER: clang++ @@ -419,7 +439,7 @@ jobs: fi # See: https://github.com/actions/toolkit/issues/946#issuecomment-1590016041 # We need it to be able to access system folders while restoring cached Boost below - - name: Give tar root ownership + - name: Give tar root ownership if: runner.os == 'Linux' && matrix.ENABLE_CONAN != 'ON' run: sudo chown root /bin/tar && sudo chmod u+s /bin/tar @@ -429,7 +449,7 @@ jobs: id: install-boost with: boost_version: 1.85.0 - + - name: Install dev dependencies run: | # 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: echo "/Library/Frameworks/Python.framework/Versions/Current/bin" >> $GITHUB_PATH fi - # ccache + # Update package list + if [[ "${RUNNER_OS}" == "Linux" || "${ENABLE_CONAN}" != "ON" ]]; then + sudo apt-get update -y + fi + + # Install compiler and ccache if [[ "${RUNNER_OS}" == "Linux" ]]; then - sudo apt-get update -y && sudo apt-get install ccache + sudo apt-get install -y ${CCOMPILER} ${CXXCOMPILER} ccache elif [[ "${RUNNER_OS}" == "macOS" ]]; then brew install ccache fi # Linux dev packages - if [ "${ENABLE_CONAN}" != "ON" ]; then - sudo apt-get update -y + if [[ "${ENABLE_CONAN}" != "ON" ]]; then sudo apt-get install -y libbz2-dev libxml2-dev libzip-dev liblua5.2-dev - if [[ "${CCOMPILER}" != clang-* ]]; then - sudo apt-get install -y ${CXXCOMPILER} - fi if [[ "${ENABLE_COVERAGE}" == "ON" ]]; then sudo apt-get install -y lcov fi