mirror of
https://github.com/simdjson/simdjson
synced 2026-06-08 17:27:07 +00:00
812f8823d2
* ci: update to checkout v6 v4 and older causes warnings about deprecated node.js * ci: update to actions cache v5 the older versions cause deprecation warings for node.js 20
48 lines
2.4 KiB
YAML
48 lines
2.4 KiB
YAML
name: Ubuntu 22.04 CI (GCC 11)
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
ubuntu-build:
|
|
if: >-
|
|
! contains(toJSON(github.event.commits.*.message), '[skip ci]') &&
|
|
! contains(toJSON(github.event.commits.*.message), '[skip github]')
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- uses: actions/cache@v5
|
|
with:
|
|
path: dependencies/.cache
|
|
key: ${{ hashFiles('dependencies/CMakeLists.txt') }}
|
|
- name: Use cmake to build just the library
|
|
run: |
|
|
mkdir buildjustlib &&
|
|
cd buildjustlib &&
|
|
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DSIMDJSON_DEVELOPER_MODE=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination .. &&
|
|
cmake --build . &&
|
|
cmake --install . &&
|
|
echo -e '#include <simdjson.h>\nint main(int argc,char**argv) {simdjson::dom::parser parser;simdjson::dom::element tweets = parser.load(argv[1]); }' > tmp.cpp &&
|
|
c++ -Idestination/include -Ldestination/lib -std=c++17 -Wl,-rpath,destination/lib -o linkandrun tmp.cpp -lsimdjson &&
|
|
cd ../tests/installation_tests/find &&
|
|
mkdir buildjustlib &&
|
|
cd buildjustlib &&
|
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=../../../buildjustlib/destination .. &&
|
|
cmake --build .
|
|
- name: Use cmake
|
|
run: |
|
|
mkdir builddebug &&
|
|
cd builddebug &&
|
|
cmake -DCMAKE_BUILD_TYPE=Debug -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF .. &&
|
|
cmake --build . &&
|
|
ctest --output-on-failure -LE explicitonly -j &&
|
|
cd .. &&
|
|
mkdir build &&
|
|
cd build &&
|
|
cmake -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_DEVELOPER_MODE=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX:PATH=destination .. &&
|
|
cmake --build . &&
|
|
ctest --output-on-failure -LE explicitonly -j &&
|
|
cmake --install . &&
|
|
echo -e '#include <simdjson.h>\nint main(int argc,char**argv) {simdjson::dom::parser parser;simdjson::dom::element tweets = parser.load(argv[1]); }' > tmp.cpp && c++ -Idestination/include -Ldestination/lib -std=c++17 -Wl,-rpath,destination/lib -o linkandrun tmp.cpp -lsimdjson && ./linkandrun jsonexamples/twitter.json &&
|
|
cd ../tests/installation_tests/find &&
|
|
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=../../../build/destination .. && cmake --build .
|