From 04ecc43f7b6481869ffc8b23945e316741593c3a Mon Sep 17 00:00:00 2001 From: Oliver Lantwin Date: Thu, 12 Mar 2026 15:03:31 +0100 Subject: [PATCH 1/2] ci: add GitHub Actions build and test workflow --- .github/workflows/build-test.yml | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/build-test.yml diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 0000000..6b8592a --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: LGPL-3.0-or-later +# Copyright (C) CERN for the benefit of the SHiP Collaboration + +name: Build and Test + +on: + push: + branches: [main] + pull_request: + branches: [main] + workflow_dispatch: + +jobs: + build-and-test: + runs-on: self-hosted + container: + image: registry.cern.ch/ship/gha-runner:latest + volumes: + - /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch + - /cvmfs/ship-nightlies.cern.ch:/cvmfs/ship-nightlies.cern.ch + - /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch + + env: + WORK_DIR: /cvmfs/ship-nightlies.cern.ch/GeoModel/sw/ + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Configure + run: | + source /cvmfs/sft.cern.ch/lcg/views/LCG_109/x86_64-el9-gcc15-opt/setup.sh + source /cvmfs/ship-nightlies.cern.ch/GeoModel/sw/slc9_x86-64/GeoModel/6.24.0-local2/etc/profile.d/init.sh + cmake -S . -B build \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_PREFIX_PATH="/cvmfs/ship-nightlies.cern.ch/GeoModel/sw/slc9_x86-64/GeoModel/6.24.0-local2;/cvmfs/sft.cern.ch/lcg/releases/qt6/6.8.3-4d4f0/x86_64-el9-gcc15-opt" + + - name: Build + run: | + source /cvmfs/sft.cern.ch/lcg/views/LCG_109/x86_64-el9-gcc15-opt/setup.sh + source /cvmfs/ship-nightlies.cern.ch/GeoModel/sw/slc9_x86-64/GeoModel/6.24.0-local2/etc/profile.d/init.sh + cmake --build build -j$(nproc) + + - name: Test + run: | + source /cvmfs/sft.cern.ch/lcg/views/LCG_109/x86_64-el9-gcc15-opt/setup.sh + source /cvmfs/ship-nightlies.cern.ch/GeoModel/sw/slc9_x86-64/GeoModel/6.24.0-local2/etc/profile.d/init.sh + ctest --test-dir build --output-on-failure From 29b5339239bf5f7f059aec46cc5ea5b07a9afcc1 Mon Sep 17 00:00:00 2001 From: Oliver Lantwin Date: Thu, 12 Mar 2026 17:04:16 +0100 Subject: [PATCH 2/2] fix: use find_package(SQLite3) instead of bare -lsqlite3 --- CMakeLists.txt | 1 + apps/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b5c4098..112e3b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) find_package(GeoModelCore REQUIRED) find_package(GeoModelIO REQUIRED) find_package(GeoModelTools REQUIRED) +find_package(SQLite3 REQUIRED) # Testing include(CTest) diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index 43f3711..bf14c28 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -12,4 +12,4 @@ target_link_libraries( ) add_executable(validate_geometry validate_geometry.cpp) -target_link_libraries(validate_geometry PRIVATE sqlite3) +target_link_libraries(validate_geometry PRIVATE SQLite::SQLite3)