48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
name: ci
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: git.rivercry.com/system/bar:latest
|
|
credentials:
|
|
username: docker
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
steps:
|
|
- name: Checkout
|
|
run: |
|
|
git init
|
|
git remote add origin https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@git.rivercry.com/${{ github.repository }}.git
|
|
git fetch --depth 1 origin ${{ github.sha }}
|
|
git checkout FETCH_HEAD
|
|
- name: Toolchain Info
|
|
run: |
|
|
echo "CC=$CC"
|
|
echo "CXX=$CXX"
|
|
command -v gcc || true
|
|
command -v g++ || true
|
|
command -v gcov || true
|
|
gcc --version || true
|
|
g++ --version || true
|
|
gcov --version || true
|
|
- name: Configure
|
|
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++
|
|
|
|
- name: Build
|
|
run: cmake --build build --config Debug -j "$(nproc)"
|
|
|
|
- name: Test & Coverage
|
|
run: |
|
|
cd build
|
|
ctest -T Test --output-on-failure
|
|
ctest -T Coverage --output-on-failure
|
|
|
|
- name: SonarQube Scan
|
|
uses: docker://sonarsource/sonar-scanner-cli:latest
|
|
env:
|
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|