mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
name: Coverage
|
|
|
|
on: [push]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
coverage:
|
|
name: Coverage
|
|
runs-on: ubuntu-24.04
|
|
env:
|
|
MRUBY_CONFIG: ci/gcc-clang
|
|
CC: clang-18
|
|
CXX: clang++-18
|
|
LD: clang-18
|
|
CFLAGS: -O0 -g --coverage
|
|
CXXFLAGS: -O0 -g --coverage
|
|
LDFLAGS: --coverage
|
|
steps:
|
|
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
- name: Ruby version
|
|
run: ruby -v
|
|
- name: Compiler version
|
|
run: ${{ env.CC }} --version
|
|
- name: Build and test
|
|
run: rake test
|
|
- name: Install gcovr
|
|
run: pip install gcovr
|
|
- name: Generate coverage report
|
|
run: |
|
|
{
|
|
echo "# Coverage report"
|
|
echo \`\`\`
|
|
gcovr --gcov-executable "llvm-cov-18 gcov" -e ".*_test.c" -e ".*/test/.*" -s --html-details -o coverage/ build
|
|
echo \`\`\`
|
|
} > "$GITHUB_STEP_SUMMARY"
|
|
- name: Upload coverage report
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: coverage-${{ github.sha }}
|
|
path: coverage/
|
|
retention-days: 3
|