aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml81
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