Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
8983956
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
5359a77
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
e67e9ea
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
3af3b11
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
dd6cf93
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
324e4ee
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
893c0d7
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
a885dff
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
ac3cac7
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
9107198
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
8871c90
Migrate to Conan 2.x
SiarheiFedartsou Sep 29, 2024
ac89b85
Migrate to Conan 2.x
SiarheiFedartsou Sep 30, 2024
ab519aa
Migrate to Conan 2.x
SiarheiFedartsou Sep 30, 2024
dcd4ddb
Migrate to Conan 2.x
SiarheiFedartsou Sep 30, 2024
69ef347
Migrate to Conan 2.x
SiarheiFedartsou Sep 30, 2024
2293d13
Migrate to Conan 2.x
SiarheiFedartsou Sep 30, 2024
fec9a42
Migrate to Conan 2.x
SiarheiFedartsou Sep 30, 2024
b7f0a1f
Migrate to Conan 2.x
SiarheiFedartsou Oct 1, 2024
f638b04
Migrate to Conan 2.x
SiarheiFedartsou Oct 1, 2024
4f5825f
Migrate to Conan 2.x
SiarheiFedartsou Oct 1, 2024
1d06531
Migrate to Conan 2.x
SiarheiFedartsou Oct 1, 2024
9654339
Migrate to Conan 2.x
SiarheiFedartsou Oct 1, 2024
165853a
Migrate to Conan 2.x
SiarheiFedartsou Oct 1, 2024
822c373
Migrate to Conan 2.x
SiarheiFedartsou Oct 3, 2024
9ecc91e
wip
SiarheiFedartsou Oct 9, 2024
2c40141
wip
SiarheiFedartsou Oct 12, 2024
e578e6d
wip
SiarheiFedartsou Oct 12, 2024
cbed6bd
wip
SiarheiFedartsou Oct 12, 2024
6ec17cf
wip
SiarheiFedartsou Oct 12, 2024
4897275
wip
SiarheiFedartsou Oct 12, 2024
b76dbfb
wip
SiarheiFedartsou Oct 12, 2024
ad04774
wip
SiarheiFedartsou Oct 12, 2024
17e1c04
wip
SiarheiFedartsou Oct 12, 2024
56ccb1e
wip
SiarheiFedartsou Oct 13, 2024
b85f235
wip
SiarheiFedartsou Oct 13, 2024
6a8ff78
wip
SiarheiFedartsou Oct 13, 2024
ae0913d
wip
SiarheiFedartsou Oct 13, 2024
66df8f5
wip
SiarheiFedartsou Oct 13, 2024
8190a30
wip
SiarheiFedartsou Oct 13, 2024
b59fff2
wip
SiarheiFedartsou Oct 13, 2024
7e2b7d4
wip
SiarheiFedartsou Oct 13, 2024
022e950
wip
SiarheiFedartsou Oct 13, 2024
b643194
wip
SiarheiFedartsou Oct 13, 2024
ce6c050
wip
SiarheiFedartsou Oct 13, 2024
a67ef6f
wip
SiarheiFedartsou Oct 13, 2024
3461761
wip
SiarheiFedartsou Oct 13, 2024
c061337
wip
SiarheiFedartsou Oct 13, 2024
d5564cc
wip
SiarheiFedartsou Oct 20, 2024
22c8a3d
wip
SiarheiFedartsou Oct 20, 2024
df5da66
wip
SiarheiFedartsou Oct 21, 2024
a463bbb
Merge branch 'master' into sf-conan2
SiarheiFedartsou Oct 21, 2024
c127194
wip
SiarheiFedartsou Oct 21, 2024
9ed9d6c
wip
SiarheiFedartsou Oct 21, 2024
cc0eeb2
wip
SiarheiFedartsou Oct 21, 2024
5d6468f
wip
SiarheiFedartsou Oct 22, 2024
c39dc2e
wip
SiarheiFedartsou Oct 22, 2024
fe0d560
wip
SiarheiFedartsou Oct 22, 2024
ad08b15
wip
SiarheiFedartsou Oct 22, 2024
aea0d88
wip
SiarheiFedartsou Oct 23, 2024
044080d
wip
SiarheiFedartsou Oct 23, 2024
c340430
wip
SiarheiFedartsou Oct 23, 2024
bac4f12
wip
SiarheiFedartsou Oct 23, 2024
99b3e8f
wip
SiarheiFedartsou Oct 23, 2024
67fca9f
wip
SiarheiFedartsou Oct 25, 2024
1e7e4ff
wip
SiarheiFedartsou Oct 25, 2024
182ad13
wip
SiarheiFedartsou Oct 26, 2024
7c1f0bf
wip
SiarheiFedartsou Oct 27, 2024
12163b0
wip
SiarheiFedartsou Oct 29, 2024
0c9b23f
wip
SiarheiFedartsou Oct 29, 2024
f48bfdf
wip
SiarheiFedartsou Oct 29, 2024
7848f99
wip
SiarheiFedartsou Oct 29, 2024
8cb8e64
wip
SiarheiFedartsou Oct 29, 2024
3be0c11
wip
SiarheiFedartsou Oct 29, 2024
46f0aa4
wip
SiarheiFedartsou Nov 1, 2024
a3f5a26
Merge branch 'master' into sf-conan2
DennisOSRM Feb 21, 2025
a96136b
Discover Boost where needed
DennisOSRM Feb 21, 2025
62f3a67
No config
DennisOSRM Feb 21, 2025
41d1250
Revert "No config"
DennisOSRM Feb 21, 2025
8411cf9
Merge remote-tracking branch 'origin/master' into sf-conan2
DennisOSRM Feb 21, 2025
d924bb0
Provide Boost_ROOT to example
DennisOSRM Feb 21, 2025
82e855b
More dependencies
DennisOSRM Feb 21, 2025
1813ca5
Add xz_utils dependency
DennisOSRM Feb 21, 2025
270a05c
Change bzip2 root env var casing
DennisOSRM Feb 21, 2025
b9eed6f
Add zstd as dependency
DennisOSRM Feb 21, 2025
3c46c56
Install zstd in macOS build
DennisOSRM Feb 21, 2025
346088f
Disable non-conan builds for faster debugging
DennisOSRM Feb 21, 2025
1bdfbec
Don't install boost when it's coming through conan
DennisOSRM Feb 21, 2025
420eb62
wip
DennisOSRM Feb 21, 2025
113b4fc
Turn temporarily disable CI jobs back on
DennisOSRM Feb 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 30 additions & 30 deletions .github/workflows/osrm-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,14 @@ concurrency:
cancel-in-progress: true

jobs:
windows-release-node:
conan-windows-release-node:
needs: format-taginfo-docs
runs-on: windows-2022
continue-on-error: false
env:
BUILD_TYPE: Release
steps:
- uses: actions/checkout@v4
- run: pip install "conan<2.0.0"
- run: conan --version
- run: cmake --version
- uses: actions/setup-node@v4
with:
Expand All @@ -51,6 +49,12 @@ jobs:
run: |
mkdir build
cd build

python3 -m venv .venv
source .venv/Scripts/Activate
python3 -m pip install conan==2.7.1
conan profile detect --force

cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CONAN=ON -DENABLE_NODE_BINDINGS=ON ..
cmake --build . --config Release

Expand Down Expand Up @@ -161,7 +165,7 @@ jobs:
curl --retry-delay 3 --retry 10 --retry-all-errors "http://127.0.0.1:5000/route/v1/driving/13.388860,52.517037;13.385983,52.496891?steps=true"
docker stop osrm-container

build-test-publish:
build-matrix:
needs: format-taginfo-docs
strategy:
matrix:
Expand Down Expand Up @@ -338,7 +342,7 @@ jobs:
build_node_package: true
continue-on-error: true
node: 20
runs-on: macos-14 # arm64
runs-on: macos-15 # arm64
BUILD_TYPE: Release
CCOMPILER: clang
CXXCOMPILER: clang++
Expand Down Expand Up @@ -393,10 +397,10 @@ jobs:
- name: Enable Conan cache
uses: actions/cache@v4
with:
path: ~/.conan
key: v9-conan-${{ matrix.name }}-${{ github.sha }}
path: ~/.conan2
key: v10-conan-${{ matrix.name }}-${{ github.sha }}
restore-keys: |
v9-conan-${{ matrix.name }}-
v10-conan-${{ matrix.name }}-
- name: Enable test cache
uses: actions/cache@v4
with:
Expand Down Expand Up @@ -432,15 +436,14 @@ jobs:
run: sudo chown root /bin/tar && sudo chmod u+s /bin/tar

- name: Install boost
if: ${{ matrix.ENABLE_CONAN != 'ON' }}
uses: MarkusJx/install-boost@v2
id: install-boost
with:
boost_version: 1.85.0

- name: Install dev dependencies
run: |
python3 -m pip install "conan<2.0.0" || python3 -m pip install "conan<2.0.0" --break-system-packages

# workaround for issue that GitHub Actions seems to not adding it to PATH after https://github.com/actions/runner-images/pull/6499
# and that's why CI cannot find conan executable installed above
if [[ "${RUNNER_OS}" == "macOS" ]]; then
Expand Down Expand Up @@ -477,20 +480,6 @@ jobs:
tar zxvf onetbb.tgz
sudo cp -a oneapi-tbb-${TBB_VERSION}/lib/. /usr/local/lib/
sudo cp -a oneapi-tbb-${TBB_VERSION}/include/. /usr/local/include/
- name: Add Clang 18 to list of Conan compilers # workaround for the issue that Conan 1.x doesn't know about Clang 18
if: ${{ matrix.ENABLE_CONAN == 'ON' && matrix.CCOMPILER == 'clang-18' }}
run: |
sudo wget https://github.com/mikefarah/yq/releases/download/v4.9.6/yq_linux_amd64 -O /usr/bin/yq && sudo chmod +x /usr/bin/yq

conan config init
yq eval '.compiler.clang.version += ["18"]' -i "$HOME/.conan/settings.yml"
- name: Add Apple-clang 16 to list of Conan compilers # workaround for the issue that Conan 1.x doesn't know about Apple-clang 16
if: ${{ matrix.ENABLE_CONAN == 'ON' && matrix.runs-on == 'macos-14' }}
run: |
sudo wget https://github.com/mikefarah/yq/releases/download/v4.9.6/yq_darwin_arm64 -O /usr/local/bin/yq && sudo chmod +x /usr/local/bin/yq

conan config init
yq eval '.compiler.apple-clang.version += ["16.0"]' -i "$HOME/.conan/settings.yml"
- name: Prepare build
run: |
mkdir ${OSRM_BUILD_DIR}
Expand All @@ -512,7 +501,14 @@ jobs:
run: |
echo "Using ${JOBS} jobs"
pushd ${OSRM_BUILD_DIR}


if [[ "${ENABLE_CONAN}" == "ON" ]]; then
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install conan==2.7.1
conan profile detect --force
fi

ccache --zero-stats
cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DENABLE_CONAN=${ENABLE_CONAN:-OFF} \
Expand All @@ -526,6 +522,7 @@ jobs:
-DENABLE_CCACHE=ON \
-DENABLE_LTO=${ENABLE_LTO:-ON} \
-DCMAKE_INSTALL_PREFIX=${OSRM_INSTALL_DIR}

make --jobs=${JOBS}

if [[ "${NODE_PACKAGE_TESTS_ONLY}" != "ON" ]]; then
Expand All @@ -542,10 +539,11 @@ jobs:
env:
Boost_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
- name: Build example
if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY != 'ON' }}
if: ${{ matrix.NODE_PACKAGE_TESTS_ONLY != 'ON' && matrix.ENABLE_CONAN != 'ON' }}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No a lot of reasons to support building libosrm example with Conan... IMO if we want to use Conan deps there instead of system ones we should make libosrm Conan package itself...

run: |
mkdir example/build && pushd example/build
cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DBoost_ROOT=${{ steps.install-boost.outputs.BOOST_ROOT }}
make --jobs=${JOBS}
popd
- name: Run all tests
Expand All @@ -554,8 +552,10 @@ jobs:
make -C test/data benchmark

# macOS SIP strips the linker path. Reset this inside the running shell
export LD_LIBRARY_PATH=${{ env.LD_LIBRARY_PATH }}
./example/build/osrm-example test/data/mld/monaco.osrm
if [[ "${ENABLE_CONAN}" == "OFF" ]]; then
export LD_LIBRARY_PATH=${{ env.LD_LIBRARY_PATH }}
./example/build/osrm-example test/data/mld/monaco.osrm
fi

# All tests assume to be run from the build directory
pushd ${OSRM_BUILD_DIR}
Expand Down Expand Up @@ -643,7 +643,7 @@ jobs:

ci-complete:
runs-on: ubuntu-latest
needs: [build-test-publish, docker-image-matrix, windows-release-node]
needs: [build-matrix, conan-windows-release-node, docker-image-matrix]
steps:
- run: echo "CI complete"

1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
- NodeJS:
- CHANGED: Use node-api instead of NAN. [#6452](https://github.com/Project-OSRM/osrm-backend/pull/6452)
- Misc:
- CHANGED: Migrate to Conan 2.x. [#7042](https://github.com/Project-OSRM/osrm-backend/pull/7042)
- CHANGED: Use std::string_view for key type in json::Object. [#7062](https://github.com/Project-OSRM/osrm-backend/pull/7062)
- CHANGED: Use thread_local instead of boost::thread_specific_ptr. [#6991](https://github.com/Project-OSRM/osrm-backend/pull/6991)
- CHANGED: Bump flatbuffers to v24.3.25 version. [#6988](https://github.com/Project-OSRM/osrm-backend/pull/6988)
Expand Down
Loading
Loading