Skip to content

Commit 69bdd3a

Browse files
authored
Fix CI build (Boost not found) (#7115)
1 parent c59ad69 commit 69bdd3a

File tree

2 files changed

+11
-148
lines changed

2 files changed

+11
-148
lines changed

.github/workflows/osrm-backend.yml

Lines changed: 10 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ jobs:
193193

194194
- name: clang-18-release
195195
continue-on-error: false
196-
node: 18
196+
node: 20
197197
runs-on: ubuntu-24.04
198198
BUILD_TOOLS: ON
199199
BUILD_TYPE: Release
@@ -430,30 +430,12 @@ jobs:
430430
- name: Give tar root ownership
431431
if: runner.os == 'Linux' && matrix.ENABLE_CONAN != 'ON'
432432
run: sudo chown root /bin/tar && sudo chmod u+s /bin/tar
433-
- name: Cache Boost
434-
if: runner.os == 'Linux' && matrix.ENABLE_CONAN != 'ON'
435-
id: cache-boost
436-
uses: actions/cache@v4
437-
with:
438-
path: |
439-
/usr/local/include/boost
440-
/usr/local/lib/libboost*
441-
key: v1-boost-${{ runner.os }}-${{ runner.arch }}-${{ matrix.runs-on }}
442-
restore-keys: |
443-
v1-boost-${{ runner.os }}-${{ runner.arch }}-${{ matrix.runs-on }}
444433

445-
- name: Install Boost
446-
if: steps.cache-boost.outputs.cache-hit != 'true' && runner.os == 'Linux' && matrix.ENABLE_CONAN != 'ON'
447-
run: |
448-
BOOST_VERSION="1.85.0"
449-
BOOST_VERSION_FLAVOR="${BOOST_VERSION}-b2-nodocs"
450-
wget -q https://github.com/boostorg/boost/releases/download/boost-${BOOST_VERSION}/boost-${BOOST_VERSION_FLAVOR}.tar.gz
451-
tar xzf boost-${BOOST_VERSION_FLAVOR}.tar.gz
452-
cd boost-${BOOST_VERSION}
453-
sudo ./bootstrap.sh
454-
sudo ./b2 install
455-
cd ..
456-
sudo rm -rf boost-${BOOST_VERSION}*
434+
- name: Install boost
435+
uses: MarkusJx/install-boost@v2
436+
id: install-boost
437+
with:
438+
boost_version: 1.85.0
457439

458440
- name: Install dev dependencies
459441
run: |
@@ -557,6 +539,8 @@ jobs:
557539
echo "PKG_CONFIG_PATH=${OSRM_INSTALL_DIR}/lib/pkgconfig" >> $GITHUB_ENV
558540
fi
559541
popd
542+
env:
543+
Boost_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
560544
- name: Build example
561545
if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY != 'ON' }}
562546
run: |
@@ -657,130 +641,9 @@ jobs:
657641
ccache -p
658642
ccache -s
659643
660-
benchmarks:
661-
if: github.event_name == 'pull_request'
662-
needs: [format-taginfo-docs]
663-
runs-on: self-hosted
664-
env:
665-
CCOMPILER: clang-16
666-
CXXCOMPILER: clang++-16
667-
CC: clang-16
668-
CXX: clang++-16
669-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
670-
PR_NUMBER: ${{ github.event.pull_request.number }}
671-
GITHUB_REPOSITORY: ${{ github.repository }}
672-
RUN_BIG_BENCHMARK: ${{ contains(github.event.pull_request.labels.*.name, 'Performance') }}
673-
steps:
674-
- name: Checkout PR Branch
675-
uses: actions/checkout@v4
676-
with:
677-
ref: ${{ github.head_ref }}
678-
path: pr
679-
- name: Activate virtualenv
680-
run: |
681-
python3 -m venv .venv
682-
source .venv/bin/activate
683-
echo PATH=$PATH >> $GITHUB_ENV
684-
pip install "conan<2.0.0" "requests==2.31.0" "numpy==1.26.4"
685-
- name: Prepare data
686-
run: |
687-
if [ "$RUN_BIG_BENCHMARK" = "true" ]; then
688-
rm -rf ~/data.osm.pbf
689-
wget http://download.geofabrik.de/europe/poland-latest.osm.pbf -O ~/data.osm.pbf --quiet
690-
gunzip -c ./pr/test/data/poland_gps_traces.csv.gz > ~/gps_traces.csv
691-
else
692-
if [ ! -f "~/data.osm.pbf" ]; then
693-
wget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbf -O ~/data.osm.pbf
694-
else
695-
echo "Using cached data.osm.pbf"
696-
fi
697-
gunzip -c ./pr/test/data/berlin_gps_traces.csv.gz > ~/gps_traces.csv
698-
fi
699-
- name: Prepare environment
700-
run: |
701-
echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV
702-
mkdir -p $HOME/.ccache
703-
ccache --zero-stats
704-
ccache --max-size=256M
705-
- name: Checkout Base Branch
706-
uses: actions/checkout@v4
707-
with:
708-
ref: ${{ github.event.pull_request.base.ref }}
709-
path: base
710-
- name: Build Base Branch
711-
run: |
712-
cd base
713-
npm ci --ignore-scripts
714-
cd ..
715-
mkdir base/build
716-
cd base/build
717-
cmake -DENABLE_CONAN=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_NODE_BINDINGS=ON ..
718-
make -j$(nproc)
719-
make -j$(nproc) benchmarks
720-
cd ..
721-
make -C test/data
722-
- name: Build PR Branch
723-
run: |
724-
cd pr
725-
npm ci --ignore-scripts
726-
cd ..
727-
mkdir -p pr/build
728-
cd pr/build
729-
cmake -DENABLE_CONAN=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_NODE_BINDINGS=ON ..
730-
make -j$(nproc)
731-
make -j$(nproc) benchmarks
732-
cd ..
733-
make -C test/data
734-
# we run benchmarks in tmpfs to avoid impact of disk IO
735-
- name: Create folder for tmpfs
736-
run: |
737-
# if by any chance it was mounted before(e.g. due to previous job failed), unmount it
738-
sudo umount ~/benchmarks | true
739-
rm -rf ~/benchmarks
740-
mkdir -p ~/benchmarks
741-
# see https://llvm.org/docs/Benchmarking.html
742-
- name: Run PR Benchmarks
743-
run: |
744-
sudo cset shield -c 2-3 -k on
745-
sudo mount -t tmpfs -o size=4g none ~/benchmarks
746-
cp -rf pr/build ~/benchmarks/build
747-
cp -rf pr/lib ~/benchmarks/lib
748-
mkdir -p ~/benchmarks/test
749-
cp -rf pr/test/data ~/benchmarks/test/data
750-
cp -rf pr/profiles ~/benchmarks/profiles
751-
752-
sudo cset shield --exec -- ./pr/scripts/ci/run_benchmarks.sh -f ~/benchmarks -r $(pwd)/pr_results -s $(pwd)/pr -b ~/benchmarks/build -o ~/data.osm.pbf -g ~/gps_traces.csv
753-
sudo umount ~/benchmarks
754-
sudo cset shield --reset
755-
- name: Run Base Benchmarks
756-
run: |
757-
sudo cset shield -c 2-3 -k on
758-
sudo mount -t tmpfs -o size=4g none ~/benchmarks
759-
cp -rf base/build ~/benchmarks/build
760-
cp -rf base/lib ~/benchmarks/lib
761-
mkdir -p ~/benchmarks/test
762-
cp -rf base/test/data ~/benchmarks/test/data
763-
cp -rf base/profiles ~/benchmarks/profiles
764-
765-
# TODO: remove it when base branch will have this file at needed location
766-
if [ ! -f ~/benchmarks/test/data/portugal_to_korea.json ]; then
767-
cp base/src/benchmarks/portugal_to_korea.json ~/benchmarks/test/data/portugal_to_korea.json
768-
fi
769-
# we intentionally use scripts from PR branch to be able to update them and see results in the same PR
770-
sudo cset shield --exec -- cset shield --exec -- ./pr/scripts/ci/run_benchmarks.sh -f ~/benchmarks -r $(pwd)/base_results -s $(pwd)/pr -b ~/benchmarks/build -o ~/data.osm.pbf -g ~/gps_traces.csv
771-
sudo umount ~/benchmarks
772-
sudo cset shield --reset
773-
- name: Post Benchmark Results
774-
run: |
775-
python3 pr/scripts/ci/post_benchmark_results.py base_results pr_results
776-
- name: Show CCache statistics
777-
run: |
778-
ccache -p
779-
ccache -s
780-
781644
ci-complete:
782-
runs-on: ubuntu-22.04
783-
needs: [build-test-publish, docker-image-matrix, windows-release-node, benchmarks]
645+
runs-on: ubuntu-latest
646+
needs: [build-test-publish, docker-image-matrix, windows-release-node]
784647
steps:
785648
- run: echo "CI complete"
786649

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ if(ENABLE_CONAN)
403403
# expat and bzip2 are used from conan rather than the system
404404
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libosmium/include)
405405
else()
406-
find_package(Boost 1.70 REQUIRED COMPONENTS ${BOOST_COMPONENTS})
406+
find_package(Boost REQUIRED CONFIG COMPONENTS ${BOOST_COMPONENTS})
407407
add_dependency_includes(${Boost_INCLUDE_DIRS})
408408

409409
find_package(TBB REQUIRED)

0 commit comments

Comments
 (0)