Skip to content

Added to_ulong() and to_ullong() functions #10

Added to_ulong() and to_ullong() functions

Added to_ulong() and to_ullong() functions #10

Workflow file for this run

name: Coverage
on:
- push
- pull_request
env:
CMAKE_VERSION: 3.22.2
jobs:
build:
name: ${{matrix.config.os}} - ${{matrix.config.compiler_name}} - coverage
runs-on: ${{matrix.config.os}}
strategy:
fail-fast: false
matrix:
config: [
{os: ubuntu-20.04, compiler_name: gcc, c_compiler: gcc-9, cxx_compiler: g++-9}
]
steps:
- name: Checkout dynamic_bitset
uses: actions/checkout@v2
with:
submodules: recursive
path: dynamic_bitset
- name: Setup build environment
shell: cmake -P {0}
run: |
execute_process(COMMAND ${{matrix.config.c_compiler}} --version)
execute_process(COMMAND ${{matrix.config.cxx_compiler}} --version)
file(APPEND "$ENV{GITHUB_ENV}" "CMAKE_GENERATOR=Unix Makefiles\n")
file(APPEND "$ENV{GITHUB_ENV}" "CC=${{matrix.config.c_compiler}}\n")
file(APPEND "$ENV{GITHUB_ENV}" "CXX=${{matrix.config.cxx_compiler}}\n")
- name: Setup CMake
id: cmake
uses: ./dynamic_bitset/.github/actions/setup_cmake
with:
cmake_version: ${{env.CMAKE_VERSION}}
used_env: ${{matrix.config.os}}
- name: Configure
shell: cmake -P {0}
run: |
file(TO_CMAKE_PATH [=[${{github.workspace}}]=] workspace)
execute_process(
COMMAND ${{steps.cmake.outputs.cmake_binary}}
-S "${workspace}/dynamic_bitset"
-B "${workspace}/dynamic_bitset/build"
-D CMAKE_CONFIGURATION_TYPES=Release
-D CMAKE_BUILD_TYPE=Release
-D DYNAMICBITSET_ENABLE_COVERAGE=ON
RESULT_VARIABLE result
)
if(NOT result EQUAL 0)
message(FATAL_ERROR "Bad exit status")
endif()
- name: Build
shell: cmake -P {0}
run: |
file(TO_CMAKE_PATH [=[${{github.workspace}}]=] workspace)
include(ProcessorCount)
ProcessorCount(N)
execute_process(
COMMAND ${{steps.cmake.outputs.cmake_binary}}
--build "${workspace}/dynamic_bitset/build"
--config Release
--parallel ${N}
RESULT_VARIABLE result
)
if(NOT result EQUAL 0)
message(FATAL_ERROR "Bad exit status")
endif()
- name: Run tests
shell: cmake -P {0}
run: |
file(TO_CMAKE_PATH [=[${{github.workspace}}]=] workspace)
include(ProcessorCount)
ProcessorCount(N)
set(ENV{CTEST_OUTPUT_ON_FAILURE} "ON")
execute_process(
COMMAND ${{steps.cmake.outputs.ctest_binary}} --output-on-failure --parallel ${N}
WORKING_DIRECTORY "${workspace}/dynamic_bitset/build"
RESULT_VARIABLE result
)
if(NOT result EQUAL 0)
message(FATAL_ERROR "Running tests failed!")
endif()
- name: Generate coverage report
shell: cmake -P {0}
run: |
file(TO_CMAKE_PATH [=[${{github.workspace}}]=] workspace)
execute_process(
COMMAND sudo apt install lcov
RESULT_VARIABLE result
)
if(NOT result EQUAL 0)
message(FATAL_ERROR "Bad exit status")
endif()
execute_process(
COMMAND lcov --directory "${workspace}/dynamic_bitset/build" --capture --output-file "${workspace}/coverage.info"
RESULT_VARIABLE result
)
if(NOT result EQUAL 0)
message(FATAL_ERROR "Bad exit status")
endif()
execute_process(
COMMAND lcov --extract "${workspace}/coverage.info" "*/dynamic_bitset.hpp" --output-file "${workspace}/coverage.info"
RESULT_VARIABLE result
)
if(NOT result EQUAL 0)
message(FATAL_ERROR "Bad exit status")
endif()
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
files: ${{github.workspace}}/coverage.info
root_dir: ${{github.workspace}}/dynamic_bitset
verbose: true