[pre-commit.ci] pre-commit autoupdate #63
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: 2023 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com> | |
| # | |
| # SPDX-License-Identifier: MIT | |
| # Workflow for MinGW | |
| # | |
| # Do not merge with build-qt6.yml, the matrix is sufficiently different and half the steps as well. | |
| name: CI Qt6 MinGW | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| workflow_dispatch: | |
| inputs: | |
| debug_enabled: | |
| type: boolean | |
| description: "Enable ssh for debugging purposes" | |
| required: false | |
| default: false | |
| jobs: | |
| build: | |
| runs-on: windows-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| qt_version: | |
| - "6.9.0" # Minimum supported/tested on MinGW | |
| - "6.10.1" # Bump to latest freely | |
| preset: | |
| - name: ci-dev-client-only | |
| runs_tests: true | |
| - name: ci-dev-client-and-ui | |
| runs_tests: true | |
| - name: ci-dev-probe-only | |
| runs_tests: false | |
| toolchain: | |
| - arch: win64_llvm_mingw | |
| tools_arg: tools_llvm_mingw1706 tools_ninja | |
| mingw_path_segment: llvm-mingw1706_64 | |
| test_exclude_regex: "^(quicktexturetest|launchertest|clientconnectiontest)$" | |
| - arch: win64_mingw | |
| tools_arg: tools_mingw1310 tools_ninja | |
| mingw_path_segment: mingw1310_64 | |
| test_exclude_regex: "^(quicktexturetest|launchertest|clientconnectiontest)$" | |
| steps: | |
| - name: Setup tmate session | |
| if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} | |
| uses: mxschmitt/action-tmate@v3 | |
| with: | |
| detached: true | |
| - name: Install Qt with options and default aqtversion | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| aqtversion: null # use whatever the default is | |
| modules: qtshadertools qtscxml | |
| arch: ${{ matrix.toolchain.arch }} | |
| tools: ${{ matrix.toolchain.tools_arg }} | |
| version: ${{ matrix.qt_version }} | |
| cache: true | |
| - name: Checkout sources | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Add MinGW to PATH | |
| run: | | |
| echo "${Qt6_DIR}/../../../Tools/${{ matrix.toolchain.mingw_path_segment }}/bin" >> $GITHUB_PATH | |
| echo "${Qt6_DIR}/../../../Tools/Ninja/bin" >> $GITHUB_PATH | |
| - name: Install ninja-build tool (must be after Qt due PATH changes) | |
| uses: turtlesec-no/get-ninja@main | |
| # Don't make graphviz find wrong libgd | |
| - name: Remove Strawberry from PATH | |
| run: | | |
| Remove-Item "C:/Strawberry" -Recurse -Force | |
| - name: Configure project | |
| run: > | |
| cmake -S . -G Ninja --preset ${{ matrix.preset.name }} | |
| -DGAMMARAY_WITH_KDSME=ON | |
| -DWARNINGS_ARE_ERRORS=OFF | |
| -DGAMMARAY_WITH_KDSME=OFF | |
| -DGAMMARAY_BUILD_DOCS=${{ runner.os == 'Linux' }} | |
| - name: Build Project | |
| run: cmake --build ./build-${{ matrix.preset.name }} | |
| - name: Run tests | |
| if: ${{ matrix.preset.runs_tests }} | |
| run: > | |
| ctest --test-dir ./build-${{ matrix.preset.name }} --output-on-failure | |
| --exclude-regex "${{ matrix.toolchain.test_exclude_regex }}" | |
| - name: Read tests log when it fails | |
| uses: andstor/file-reader-action@v1 | |
| if: ${{ failure() }} | |
| with: | |
| path: "./build-${{ matrix.preset.name }}/Testing/Temporary/LastTest.log" |