diff options
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r-- | .github/workflows/build.yml | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..e97e4ac --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,81 @@ +name: "CI: Build Test" + +on: + push: + branches-ignore: + - "releases/**" + paths-ignore: + - "**.md" + +jobs: + build: + strategy: + matrix: + qt_version: [5.12.6, 5.13.2, 5.14.0, 5.15.0, 6.0.0] + platform: [ubuntu-20.04, windows-latest, macos-latest] + include: + - qt_version: 6.0.0 + additional_arguments: -D QT_DEFAULT_MAJOR_VERSION=6 + - platform: ubuntu-20.04 + CXXFLAGS: -Wall -Wextra -pedantic -Werror + - platform: macos-latest + CXXFLAGS: -Wall -Wextra -pedantic -Werror + - platform: windows-latest + CXXFLAGS: /W4 /WX + + runs-on: ${{ matrix.platform }} + env: + CXXFLAGS: ${{ matrix.CXXFLAGS }} + + steps: + - name: Clone repo + uses: actions/checkout@v2.3.4 + + - name: Install Qt + uses: jurplel/install-qt-action@v2.11.1 + 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 + make + + - name: Build calculator example QMake + working-directory: examples/calculator/ + run: | + qmake + make + + - name: Build sending_arguments example with QMake + working-directory: examples/sending_arguments/ + run: | + qmake + make |