Skip to content

Qt использование QtTest вместе с travis-ci.org #4

Qt использование QtTest вместе с travis-ci.org

Qt использование QtTest вместе с travis-ci.org #4

Workflow file for this run

name: CI
on:
push:
branches: [ master, main ]
pull_request:
branches: [ master, main ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Install Qt and coverage tools
run: |
sudo apt-get update
sudo apt-get install -y qt5-qmake qtbase5-dev qtchooser lcov
- name: Build with coverage flags
run: |
qmake "QMAKE_CXXFLAGS += --coverage" "QMAKE_LFLAGS += --coverage" 2>/dev/null || qmake
make -j$(nproc) || true
- name: Run tests
run: make check || true
- name: Generate coverage report
run: |
lcov --capture --directory . --output-file coverage.info --ignore-errors source 2>/dev/null || true
lcov --remove coverage.info '/usr/*' --output-file coverage.info 2>/dev/null || true
if [ -f coverage.info ] && [ -s coverage.info ]; then
echo "## Test Coverage Report" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
lcov --summary coverage.info 2>&1 | tail -5 >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
else
echo "No coverage data collected" >> $GITHUB_STEP_SUMMARY
fi