14 group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
15 cancel-in-progress: true
20 if: startsWith(github.ref_name, 'v')
21 runs-on: ubuntu-latest
24 uses: actions/checkout@v4
28 - name: Check Git tag format
30 _tag="${{ github.ref_name }}"
31 if ! printf "%s\n" "$_tag" | grep -q -P '^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-(alpha|beta|rc)\.(0|[1-9][0-9]*))?$'; then
32 printf '[ERROR]: Git tag (%s) wrong format\n' "$_tag"
38 runs-on: ubuntu-latest
41 uses: actions/checkout@v4
46 uses: actions/setup-python@v4
48 - name: Install cmakelang
49 run: pip install cmakelang[YAML]
54 -not -path './build/*' \
67 # TODO(carlocorradini) Clang Tidy
72 -not -path './build/*' \
73 -not -path './cmake/CPM.cmake' \
75 -name 'CMakeLists.txt' \
85 -not -path './build/*' \
86 -not -path './cmake/CPM.cmake' \
88 -name 'CMakeLists.txt' \
95 # TODO(carlocorradini) Cppcheck
97 # TODO(carlocorradini) Cpplint
104 # TODO(carlocorradini) Add macos-latest
105 os: [ubuntu-latest, windows-latest]
106 build: [Debug, Release]
108 runs-on: ${{ matrix.os }}
111 uses: actions/checkout@v4
115 - name: Install Doxygen
116 uses: ssciwr/doxygen-install@v1
118 - name: Configure CMake
119 run: cmake -S . -B ./build -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DDIS_VERSION=${{ matrix.dis }} -DBUILD_SHARED_LIBS=OFF -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON
122 run: cmake --build ./build --config ${{ matrix.build }}
125 run: ctest --verbose --test-dir ./build/tests --build-config ${{ matrix.build }}
127 # TODO(carlocorradini) Code coverage