diff --git a/.github/workflows/build_commit.yml b/.github/workflows/build_commit.yml index b39b383..bf3ec79 100644 --- a/.github/workflows/build_commit.yml +++ b/.github/workflows/build_commit.yml @@ -1,4 +1,4 @@ -name: Build Commit +name: Build NuraftMesg3 on: workflow_call: @@ -20,7 +20,7 @@ jobs: SislDeps: uses: ebay/sisl/.github/workflows/build_dependencies.yml@master with: - branch: master + branch: stable/v12.x platform: ${{ inputs.platform }} build-type: ${{ inputs.build-type }} malloc-impl: ${{ inputs.malloc-impl }} diff --git a/.github/workflows/build_dependencies.yml b/.github/workflows/build_dependencies.yml index 396974c..700d5d5 100644 --- a/.github/workflows/build_dependencies.yml +++ b/.github/workflows/build_dependencies.yml @@ -101,7 +101,7 @@ jobs: with: repository: eBay/sisl path: import/sisl - ref: master + ref: stable/v12.x if: ${{ inputs.testing == 'True' || steps.restore-cache.outputs.cache-hit != 'true' }} - name: Load Sisl Cache @@ -159,17 +159,19 @@ jobs: - name: Code Coverage Run run: | + python -m pip install gcovr conan build \ -o sisl/*:malloc_impl=${{ inputs.malloc-impl }} \ -o nuraft_mesg/*:coverage=True \ -s:h build_type=${{ inputs.build-type }} \ --build missing \ . + gcovr --cobertura ./coverage.xml if: ${{ inputs.testing == 'True' && inputs.tooling == 'Coverage' }} - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v5 with: - token: ${{ secrets.CODECOV_TOKEN }} - verbose: true + files: ./coverage.xml + disable_search: true if: ${{ inputs.testing == 'True' && inputs.tooling == 'Coverage' }} diff --git a/.github/workflows/conan_build.yml b/.github/workflows/conan_build.yml index b54384e..ff84d02 100644 --- a/.github/workflows/conan_build.yml +++ b/.github/workflows/conan_build.yml @@ -1,11 +1,10 @@ -name: NuraftMesg PR Build +name: NuraftMesg3 PR Build on: workflow_dispatch: pull_request: branches: - - main - - feature/* + - stable/v3* jobs: Build: diff --git a/.github/workflows/merge_build.yml b/.github/workflows/merge_build.yml index 261da20..1d782ef 100644 --- a/.github/workflows/merge_build.yml +++ b/.github/workflows/merge_build.yml @@ -1,10 +1,10 @@ -name: NuraftMesg Build +name: NuraftMesg3 Build on: workflow_dispatch: push: branches: - - main + - stable/v3.x jobs: Build: @@ -32,16 +32,16 @@ jobs: build-type: ${{ matrix.build-type }} malloc-impl: ${{ matrix.malloc-impl }} tooling: ${{ matrix.tooling }} - #ChainBuild: - # runs-on: "ubuntu-24.04" - # steps: - # - name: Start HomeStore Build - # run: | - # curl -L \ - # -X POST \ - # -H "Accept: application/vnd.github+json" \ - # -H "Authorization: Bearer ${{ secrets.CHAIN_BUILD_TOKEN }}"\ - # -H "X-GitHub-Api-Version: 2022-11-28" \ - # https://api.github.com/repos/eBay/homestore/actions/workflows/merge_build.yml/dispatches \ - # -d '{"ref":"master","inputs":{}}' - # if: ${{ github.ref == 'refs/heads/main' }} + ChainBuild: + runs-on: "ubuntu-22.04" + steps: + - name: Start HomeStore Build + run: | + curl -L \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${{ secrets.CHAIN_BUILD_TOKEN }}"\ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/repos/eBay/homestore/actions/workflows/merge_build.yml/dispatches \ + -d '{"ref":"master","inputs":{}}' + if: ${{ github.ref == 'refs/heads/master' }} diff --git a/.jenkins/Jenkinsfile b/.jenkins/Jenkinsfile index 02b17c4..f80f4df 100644 --- a/.jenkins/Jenkinsfile +++ b/.jenkins/Jenkinsfile @@ -55,10 +55,10 @@ pipeline { stage("Compile") { steps { sh "./prepare_v2.sh ; \ - conan create ${BUILD_MISSING} -s:h build_type=Debug -o ${PROJECT}/*:sanitize=True ${CONAN_FLAGS} . ; \ + conan build ${BUILD_MISSING} --build missing -s:h build_type=Debug -o ${PROJECT}/*:sanitize=True ${CONAN_FLAGS} . ; \ conan create ${BUILD_MISSING} -s:h build_type=Debug ${CONAN_FLAGS} . ; \ - conan create ${BUILD_MISSING} -s:h build_type=RelWithDebInfo -o sisl/*:malloc_impl=tcmalloc ${CONAN_FLAGS} . ; \ - conan create ${BUILD_MISSING} -s:h build_type=RelWithDebInfo -o sisl/*:prerelease=True -o sisl/*:malloc_impl=tcmalloc ${CONAN_FLAGS} . ; \ + conan create ${BUILD_MISSING} --build missing -s:h build_type=RelWithDebInfo -o sisl/*:malloc_impl=tcmalloc ${CONAN_FLAGS} . ; \ + conan create ${BUILD_MISSING} --build missing -s:h build_type=RelWithDebInfo -o sisl/*:prerelease=True -o sisl/*:malloc_impl=tcmalloc ${CONAN_FLAGS} . ; \ " } } diff --git a/conanfile.py b/conanfile.py index 60e0f93..7f49fa7 100644 --- a/conanfile.py +++ b/conanfile.py @@ -69,7 +69,12 @@ def requirements(self): def layout(self): self.folders.source = "." - self.folders.build = join("build", str(self.settings.build_type)) + if self.options.get_safe("sanitize"): + self.folders.build = join("build", "Sanitized") + elif self.options.get_safe("coverage"): + self.folders.build = join("build", "Coverage") + else: + self.folders.build = join("build", str(self.settings.build_type)) self.folders.generators = join(self.folders.build, "generators") self.cpp.source.includedirs = ["include"] diff --git a/gcovr.cfg b/gcovr.cfg new file mode 100644 index 0000000..aab56a9 --- /dev/null +++ b/gcovr.cfg @@ -0,0 +1,13 @@ +high-threshold = 80 +medium-threshold = 65 + +exclude = .*build.* +exclude = .*flip.* +exclude = .*generate.* +exclude = .*tests.* + +exclude-lines-by-pattern = .*DEBUG.* +exclude-lines-by-pattern = .*DBG.* +exclude-lines-by-pattern = .*LOG.* + +gcov-ignore-parse-errors = all