name: "CI: Build Test" on: push: branches: - main paths-ignore: - "**.md" - "**.png" - "**.jpg" - "**.jpeg" - ".gitignore" workflow_dispatch: jobs: build: name: Build strategy: matrix: qt-version: [5.15.2, 6.4.0] platform: [windows-latest, ubuntu-latest, macos-latest] include: - platform: windows-latest CC: cl.exe CXX: cl.exe make: nmake.exe - platform: ubuntu-latest CC: gcc CXX: g++ make: make - platform: macos-latest CC: clang CXX: clang++ make: make runs-on: ${{ matrix.platform }} steps: - name: Check out repository uses: actions/checkout@v3 - name: Install Qt SDK uses: jurplel/install-qt-action@v3 with: version: ${{ matrix.qt-version }} cache: true - name: Setup MSVC environment if: ${{ matrix.platform == 'windows-latest' }} uses: ilammy/msvc-dev-cmd@v1 - name: Install Linux dependencies if: ${{ matrix.platform == 'ubuntu-latest' }} run: | sudo apt install -y libxcb1-dev libgtk-3-dev - name: Build library with CMake run: | mkdir ci-test-build cd ci-test-build cmake -DCMAKE_C_COMPILER=${{ matrix.CC }} -DCMAKE_CXX_COMPILER=${{ matrix.CXX }} -DCMAKE_BUILD_TYPE=Release -DFRAMELESSHELPER_EXAMPLES_DEPLOYQT=OFF .. cmake --build . --target all --config Release --parallel