SingleApplication/.github/workflows/main.yml
Hennadii Chernyshchyk efdfa507dd
Switch to Doxygen to avoid documentation duplication
I also had to fix syntax a little in markdown and the header file.
Now checked on CI.
2022-04-06 00:32:30 +03:00

111 lines
2.9 KiB
YAML

name: "CI: Build Test"
on:
push:
branches-ignore:
- "releases/**"
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"
jobs:
doxygen:
name: Doxygen
runs-on: ubuntu-20.04
steps:
- name: Clone repo
uses: actions/checkout@v2.3.4
- name: Install apt packages
run: |
sudo apt-get update
sudo apt-get install doxygen qtbase5-dev
- name: Generate documentation
run: |
cmake -B build -D DOXYGEN_WARN_AS_ERROR=YES
cmake --build build --target SingleApplicationDocumentation
build:
name: Build
strategy:
matrix:
qt_version: [5.12.6, 5.15.0, 6.0.0, 6.2.0]
platform: [ubuntu-20.04, windows-latest, macos-latest]
include:
- qt_version: 6.0.0
additional_arguments: -D QT_DEFAULT_MAJOR_VERSION=6
- qt_version: 6.2.0
additional_arguments: -D QT_DEFAULT_MAJOR_VERSION=6
- platform: ubuntu-20.04
make: make
CXXFLAGS: -Wall -Wextra -pedantic -Werror
MAKEFLAGS: -j2
- platform: macos-latest
make: make
CXXFLAGS: -Wall -Wextra -pedantic -Werror
MAKEFLAGS: -j3
- platform: windows-latest
make: nmake
CXXFLAGS: /W4 /WX /MP
runs-on: ${{ matrix.platform }}
env:
CXXFLAGS: ${{ matrix.CXXFLAGS }}
MAKEFLAGS: ${{ matrix.MAKEFLAGS }}
steps:
- name: Clone repo
uses: actions/checkout@v2.3.4
- name: Install Qt
uses: jurplel/install-qt-action@v2.14.0
with:
version: ${{ matrix.qt_version }}
- name: Build library with CMake
run: |
cmake . ${{ matrix.additional_arguments }}
cmake --build .
- name: Build basic example with CMake
working-directory: examples/basic/
run: |
cmake . ${{ matrix.additional_arguments }}
cmake --build .
- name: Build calculator example CMake
working-directory: examples/calculator/
run: |
cmake . ${{ matrix.additional_arguments }}
cmake --build .
- name: Build sending_arguments example with CMake
working-directory: examples/sending_arguments/
run: |
cmake . ${{ matrix.additional_arguments }}
cmake --build .
- name: Setup MSVC environment for QMake
uses: ilammy/msvc-dev-cmd@v1
- name: Build basic example with QMake
working-directory: examples/basic/
run: |
qmake
${{ matrix.make }}
- name: Build calculator example QMake
working-directory: examples/calculator/
run: |
qmake
${{ matrix.make }}
- name: Build sending_arguments example with QMake
working-directory: examples/sending_arguments/
run: |
qmake
${{ matrix.make }}