Skip to content

fixed omniorb build

fixed omniorb build #2

# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage.
# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml
name: Build on an Ubuntu Linux with Tango 9.3.5
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-latest
steps:
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: Set core counter
run: echo "CPU_CORES=${{ steps.cpu-cores.outputs.count }}" >> $GITHUB_ENV
- name: Install lcov for code coverage generation
run: sudo apt-get update && sudo apt-get install lcov -y
- name: Install both own, tango and slsDetectorPackage dependencies
run: sudo apt-get update && sudo apt-get install -y libzmq3-dev libtiff-dev libhdf5-dev libfmt-dev rapidjson-dev libboost-dev libmariadb-dev zlib1g-dev libomniorb4-dev libcos4-dev omniidl
- name: Download and extract tango 9.3.5
run: wget https://gitlab.com/api/v4/projects/24125890/packages/generic/TangoSourceDistribution/9.3.5/tango-9.3.5.tar.gz
- name: Untar, cd, configure, compile and install
run: tar xzvf tango-9.3.5.tar.gz && cd tango-9.3.5 && ./configure && make -j$CPU_CORES && sudo make install
- name: Fetch slsDetectorPackage
uses: actions/checkout@v4
with:
repository: slsdetectorgroup/slsDetectorPackage
ref: '8.0.1'
- name: Configure CMake slsDetectorPackage
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DSLS_DEVEL_HEADERS=ON -DSLS_USE_MOENCH=ON
- name: Build slsDetectorPackage
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build -j$CPU_CORES --config ${{env.BUILD_TYPE}}
- name: Install slsDetectorPackage
# Install the config
run: sudo cmake --install ${{github.workspace}}/build
- name: Fetch our repository
uses: actions/checkout@v4
- name: Configure CMake our repository
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build our repository
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build -j$CPU_CORES --config ${{env.BUILD_TYPE}}
- name: Run tests and generate coverage report
working-directory: build
run: make coverage -j$CPU_CORES
- name: Upload coverage report
uses: codecov/codecov-action@v4
with:
files: ./build/coverage.info
fail_ci_if_error: false
codecov_yml_path: 'codecov.yml'
token: ${{ secrets.CODECOV_TOKEN }}