From bc4b1fb59dd2c14654ab021428f642e4743b5eab Mon Sep 17 00:00:00 2001 From: Hannes Rantzsch Date: Tue, 21 May 2024 18:53:03 +0200 Subject: [PATCH] test something --- .github/workflows/ci.yml | 83 +++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 31 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d97b560..4a431cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,39 +33,54 @@ jobs: - name: Build and run tests run: cmake --build . --target test --config ${{ matrix.config }} - unix-test: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-11, macos-12, macos-13, macos-14] - config: [Debug, Release] - steps: - - uses: actions/checkout@v4 - - - name: Install dependencies - run: | - if [ ${{ runner.os }} == 'Linux' ]; then - sudo apt-get install dbus-x11 dbus gnome-keyring libsecret-1-dev gcovr - elif [ ${{ runner.os }} == 'macOS' ]; then - brew install gcovr - fi + # unix-test: + # runs-on: ${{ matrix.os }} + # strategy: + # matrix: + # os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-11, macos-12, macos-13, macos-14] + # steps: + # - uses: actions/checkout@v4 + # + # - name: Install dependencies + # run: | + # if [ ${{ runner.os }} == 'Linux' ]; then + # sudo apt-get install dbus-x11 dbus gnome-keyring libsecret-1-dev gcovr + # elif [ ${{ runner.os }} == 'macOS' ]; then + # brew install gcovr + # fi + # + # - name: Run cmake + # run: cmake . -DBUILD_TESTS=yes -DCODE_COVERAGE=no -DCMAKE_BUILD_TYPE=Release + # + # - name: Build and run tests + # run: | + # if [ ${{ runner.os }} == 'Linux' ]; then + # eval $(DISPLAY=:99.0 dbus-launch --sh-syntax) + # echo "somepassword" | gnome-keyring-daemon -r -d --unlock + # fi + # cmake --build . --target test - - name: Run cmake - run: cmake . -DBUILD_TESTS=yes -DCODE_COVERAGE=no -DCMAKE_BUILD_TYPE=${{ matrix.config }} - - - name: Build and run tests - run: | - if [ ${{ runner.os }} == 'Linux' ]; then - eval $(DISPLAY=:99.0 dbus-launch --sh-syntax) - echo "somepassword" | gnome-keyring-daemon -r -d --unlock - fi - cmake --build . --target test - - unix-test-coverage: + unix-test-and-coverage: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-22.04, macos-14] + os: + - { + image: ubuntu-20.04, + coverage: no + } + - { + image: macos-12, + coverage: no + } + - { + image: ubuntu-latest, + coverage: yes + } + - { + image: macos-latest, + coverage: yes + } steps: - uses: actions/checkout@v4 @@ -78,7 +93,10 @@ jobs: fi - name: Run cmake - run: cmake . -DBUILD_TESTS=yes -DCODE_COVERAGE=yes -DCMAKE_BUILD_TYPE=Debug + run: | + cmake . -DBUILD_TESTS=yes \ + -DCODE_COVERAGE=${{ matrix.os.coverage }} \ + -DCMAKE_BUILD_TYPE=${{ matrix.os.coverage == 'yes' && 'Debug' || 'Release' }} - name: Build and run tests run: | @@ -89,9 +107,12 @@ jobs: cmake --build . --target test - name: Generate gcovr report + if: matrix.os.coverage == 'yes' run: gcovr -r . -f "src/*" -f "include/*" -x -o coverage.xml + - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + if: matrix.os.coverage == 'yes' + uses: codecov/codecov-action@v4 with: file: ./coverage.xml flags: unittests