72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- development
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-24.04
|
|
|
|
env:
|
|
LINUX_DIST: bionic
|
|
DEPS_DIR: ${{ github.workspace }}/deps
|
|
COMPILER_NAME: gcc
|
|
CXX: g++
|
|
CC: gcc
|
|
RUN_TESTS: true
|
|
COVERAGE: false
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
# PATH: ${{ github.workspace }}/deps/cmake/bin:${{ env.PATH }}
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up dependencies
|
|
run: |
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -y gcc g++ lcov doxygen graphviz python3-yaml
|
|
|
|
# - name: Install CodeCov and LCOV
|
|
# run: |
|
|
# sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-7 90
|
|
# wget http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.13.orig.tar.gz
|
|
# tar xf lcov_1.13.orig.tar.gz
|
|
# make -C lcov-1.13 "PREFIX=${HOME}/.local" install
|
|
# echo "${HOME}/.local/bin" >> $GITHUB_PATH
|
|
|
|
- name: Show tool versions
|
|
run: |
|
|
echo $PATH
|
|
echo $CXX
|
|
$CXX --version
|
|
$CXX -v
|
|
cmake --version
|
|
lcov --version
|
|
gcov --version
|
|
|
|
- name: Build project
|
|
run: |
|
|
mkdir -p build
|
|
cd build
|
|
cmake .. -Dhueplusplus_TESTS=ON -DCMAKE_BUILD_TYPE=Debug -Dhueplusplus_EXAMPLES=ON
|
|
make hueplusplus_examples hueplusplus_snippets
|
|
make coveragetest
|
|
cd ..
|
|
doxygen Doxyfile
|
|
touch doc/html/.nojekyll
|
|
|
|
- name: Upload coverage to Codecov
|
|
run: |
|
|
bash <(curl -s https://codecov.io/bash)
|
|
|
|
- name: Deploy documentation to GitHub Pages
|
|
if: github.ref == 'refs/heads/master'
|
|
uses: peaceiris/actions-gh-pages@v3
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
publish_dir: ./doc/html
|