fix(cfloat): fma regresion test #1326
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Code Coverage | |
| on: | |
| push: | |
| branches: [ main ] | |
| paths-ignore: | |
| - '**.md' | |
| - 'docs/**' | |
| - 'docs-site/**' | |
| - '.github/FUNDING.yml' | |
| - 'CITATION.cff' | |
| - 'LICENSE' | |
| - '.clang-format' | |
| - '.clang-tidy' | |
| - '.gitignore' | |
| pull_request: | |
| branches: [ main ] | |
| types: [ opened, synchronize, reopened, ready_for_review ] | |
| paths-ignore: | |
| - '**.md' | |
| - 'docs/**' | |
| - 'docs-site/**' | |
| - '.github/FUNDING.yml' | |
| - 'CITATION.cff' | |
| - 'LICENSE' | |
| - '.clang-format' | |
| - '.clang-tidy' | |
| - '.gitignore' | |
| workflow_dispatch: # Manual trigger | |
| permissions: | |
| contents: read | |
| env: | |
| # Force Node.js 24 for all JavaScript actions (eliminates Node.js 20 deprecation warnings) | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| jobs: | |
| coverage: | |
| if: | | |
| github.event_name != 'pull_request' || | |
| github.event.pull_request.draft == false | |
| name: Coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install lcov | |
| run: sudo apt-get update && sudo apt-get install -y lcov | |
| - name: Configure with coverage flags | |
| run: | | |
| cmake -B build \ | |
| -DCMAKE_BUILD_TYPE=Debug \ | |
| -DCMAKE_C_COMPILER=gcc \ | |
| -DCMAKE_CXX_COMPILER=g++ \ | |
| -DCMAKE_C_FLAGS="--coverage -fprofile-arcs -ftest-coverage" \ | |
| -DCMAKE_CXX_FLAGS="--coverage -fprofile-arcs -ftest-coverage" \ | |
| -DCMAKE_EXE_LINKER_FLAGS="--coverage" \ | |
| -DUNIVERSAL_BUILD_CI=ON \ | |
| -DUNIVERSAL_BUILD_LINEAR_ALGEBRA_BLAS=ON \ | |
| -DUNIVERSAL_BUILD_LINEAR_ALGEBRA_DATA=ON \ | |
| -DUNIVERSAL_BUILD_MIXEDPRECISION_POP=ON | |
| - name: Build | |
| run: cmake --build build -j $(nproc) | |
| - name: Run tests | |
| run: ctest --test-dir build --output-on-failure | |
| continue-on-error: true # Don't fail on test failures, still report coverage | |
| - name: Generate coverage info | |
| run: | | |
| # Capture coverage, ignoring errors from modern GCC coverage format | |
| lcov --capture --directory build --output-file coverage.info \ | |
| --ignore-errors gcov,gcov \ | |
| --ignore-errors negative,negative | |
| # Remove system headers, test files, and applications from coverage | |
| # Focus on include/sw/* which is the library code third parties rely on | |
| lcov --remove coverage.info \ | |
| '/usr/*' \ | |
| '*/test/*' \ | |
| '*/static/*' \ | |
| '*/elastic/*' \ | |
| '*/applications/*' \ | |
| '*/tools/*' \ | |
| '*/education/*' \ | |
| '*/playground/*' \ | |
| '*/benchmark/*' \ | |
| '*/blas/serialization/datafile.hpp' \ | |
| --output-file coverage.info \ | |
| --ignore-errors unused,unused | |
| lcov --list coverage.info --ignore-errors unused,unused || true | |
| - name: Upload to Coveralls | |
| uses: coverallsapp/github-action@v2 | |
| continue-on-error: true # Don't fail the workflow if coveralls.io is unreachable | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| file: coverage.info | |
| format: lcov |