feat: merge v0.9 to main #5954
This file contains 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
# The coverage jobs for cpp code | |
# | |
# This sperate job exists because C/CPP coverage require build type to be Debug. | |
# Other coverage jobs e.g java/scala's coverage lives alongside with their test jobs. | |
name: coverage | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- 'docs/**' | |
- 'demo/**' | |
- 'docker/**' | |
- 'image/**' | |
- 'release/**' | |
- 'tools/**' | |
- '*.md' | |
- 'benchmark/**' | |
pull_request: | |
paths-ignore: | |
- 'docs/**' | |
- 'demo/**' | |
- 'docker/**' | |
- 'image/**' | |
- 'release/**' | |
- 'tools/**' | |
- '*.md' | |
- 'benchmark/**' | |
workflow_dispatch: | |
jobs: | |
coverage: | |
runs-on: ubuntu-20.04 | |
env: | |
CTEST_PARALLEL_LEVEL: 1 # parallel test level for ctest (make test) | |
CMAKE_BUILD_TYPE: Debug | |
TESTING_ENABLE: ON | |
SQL_PYSDK_ENABLE: OFF | |
SQL_JAVASDK_ENABLE: OFF | |
NPROC: 2 | |
BUILD_SHARED_LIBS: ON | |
TESTING_ENABLE_STRIP: ON | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: download lcov | |
uses: actions/checkout@v4 | |
with: | |
repository: linux-test-project/lcov | |
ref: v1.16 | |
path: lcov | |
- name: install lcov | |
working-directory: lcov | |
run: | | |
sudo make install | |
- name: coverage configure | |
run: | | |
make coverage-configure | |
- name: start service | |
run: | | |
./steps/ut_zookeeper.sh start | |
# make coverage-cpp will gen 16G build/ (no run), run test will take 2G more, so split make and test | |
- name: Coverage CPP | |
run: | | |
make coverage-cpp | |
- name: debug | |
if: always() | |
run: | | |
du -d 1 -h build | |
df -h | |
- name: upload coverage | |
uses: actions/upload-artifact@v3 | |
with: | |
# include the generated html report in build/coverage, great for local diagnose | |
name: coverage-cpp-${{ github.sha }} | |
path: | | |
build/coverage.* | |
build/coverage/ | |
retention-days: 3 | |
coverage-publish: | |
needs: ["coverage"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Download Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: coverage-cpp-${{ github.sha }} | |
path: build | |
- name: Upload Coverage Report | |
uses: codecov/codecov-action@v4 | |
with: | |
files: build/coverage.info | |
token: ${{ secrets.CODECOV_TOKEN }} | |
name: coverage-cpp | |
fail_ci_if_error: true | |
verbose: true |