Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade up spec version and fix CI #308

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 38 additions & 35 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@ permissions:
jobs:
build:
name: Build up-cpp and dependencies
runs-on: ubuntu-latest
runs-on: ubuntu-22.04

steps:
- name: Fetch up-cpp
uses: actions/checkout@v4
with:
path: up-cpp

- name: Install Conan
id: conan
uses: turtlebrowser/get-conan@main
with:
version: 2.3.2

- name: Fetch up-cpp
uses: actions/checkout@v4
with:
path: up-cpp

- name: Install conan CI profile
shell: bash
run: |
Expand All @@ -42,7 +42,7 @@ jobs:
- name: Build up-core-api conan package
shell: bash
run: |
conan create --version 1.6.0-alpha3 up-conan-recipes/up-core-api/release
conan create --version 1.6.0-alpha4 up-conan-recipes/up-core-api/release

- name: Build up-cpp with tests
shell: bash
Expand Down Expand Up @@ -78,7 +78,7 @@ jobs:

test:
name: Run up-cpp tests
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: build

steps:
Expand All @@ -105,7 +105,7 @@ jobs:
# NOTE: Run dynamic analysis in unit tests
memcheck:
name: Run Valgrind Memcheck
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: build

steps:
Expand Down Expand Up @@ -173,7 +173,7 @@ jobs:

threadcheck:
name: Run Valgrind ThreadCheck
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: build

steps:
Expand Down Expand Up @@ -242,7 +242,7 @@ jobs:

helgrind:
name: Run Valgrind Helgrind
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: build

steps:
Expand Down Expand Up @@ -311,7 +311,7 @@ jobs:

dhat:
name: Run Valgrind DHAT
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: build

steps:
Expand Down Expand Up @@ -380,47 +380,48 @@ jobs:

lint:
name: Lint C++ sources
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: build
permissions:
contents: write
pull-requests: read

steps:
- name: Get build commands
uses: actions/download-artifact@v4
- name: Fetch up-cpp
uses: actions/checkout@v4
with:
name: compile-commands
path: up-cpp

- name: Install Conan
id: conan
uses: turtlebrowser/get-conan@main
with:
version: 2.3.2

- name: Create default Conan profile
run: conan profile detect

- name: Get conan cache
uses: actions/download-artifact@v4
with:
name: conan-cache

- name: Restore conan cache from archive
- name: Install conan CI profile
shell: bash
run: |
conan cache restore conan-cache.tgz
conan profile detect
cp up-cpp/.github/workflows/ci_conan_profile "$(conan profile path default)"
conan profile show

- name: Fetch up-cpp
- name: Fetch up-core-api conan recipe
uses: actions/checkout@v4
with:
path: up-cpp
path: up-conan-recipes
repository: eclipse-uprotocol/up-conan-recipes

- name: Get build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
path: up-cpp/build/Release
- name: Build up-core-api conan package
shell: bash
run: |
conan create --version 1.6.0-alpha4 up-conan-recipes/up-core-api/release

- name: Build up-cpp with tests
shell: bash
run: |
cd up-cpp
conan install --build=missing .
cmake --preset conan-release -DCMAKE_EXPORT_COMPILE_COMMANDS=yes

- name: Run linters on source
continue-on-error: true
Expand All @@ -434,7 +435,8 @@ jobs:
style: 'file' # read .clang-format for configuration
tidy-checks: '' # Read .clang-tidy for configuration
database: build/Release/compile_commands.json

version: 12

- name: Run linters on tests
continue-on-error: true
id: test-linter
Expand All @@ -447,6 +449,7 @@ jobs:
style: 'file' # read .clang-format for configuration
tidy-checks: '' # Read .clang-tidy for configuration
database: build/Release/compile_commands.json
version: 12

- name: Report lint failure
if: steps.source-linter.outputs.checks-failed > 0 || steps.test-linter.outputs.checks-failed > 0
Expand All @@ -460,7 +463,7 @@ jobs:
# job to signal whether all CI checks have passed.
ci:
name: CI status checks
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: [build, test, memcheck, threadcheck, helgrind, dhat]
if: always()
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
run: |
cd up-cpp/build/Release
mkdir -p ../Coverage
gcovr -r ../../ --html --html-details -o ../Coverage/index.html -e '.*test.*'
gcovr -r ../../ --html --html-details -o ../Coverage/index.html -e '.*test.*' --gcov-ignore-parse-errors negative_hits.warn_once_per_file
cd ..
echo "Coverage report can be found here: ../Coverage/index.html"

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ implementation, such as [up-transport-zenoh-cpp][zenoh-transport-repo].
Using the recipes found in [up-conan-recipes][conan-recipe-repo], build these
Conan packages:

1. [up-core-api][spec-repo]: `conan create --version 1.6.0-alpha3 --build=missing up-core-api/release`
1. [up-core-api][spec-repo]: `conan create --version 1.6.0-alpha4 --build=missing up-core-api/release`

**NOTE:** all `conan` commands in this document use Conan 2.x syntax. Please
adjust accordingly when using Conan 1.x.
Expand Down
Loading