Skip to content

ci(mac): select xcode 14.0.1 for release jobs (#3796) #44

ci(mac): select xcode 14.0.1 for release jobs (#3796)

ci(mac): select xcode 14.0.1 for release jobs (#3796) #44

Workflow file for this run

# 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@v3
with:
files: build/coverage.info
name: coverage-cpp
fail_ci_if_error: true
verbose: true