build.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. name: "CI: Build Test"
  2. on:
  3. push:
  4. branches-ignore:
  5. - "releases/**"
  6. paths-ignore:
  7. - "**.md"
  8. jobs:
  9. build:
  10. strategy:
  11. matrix:
  12. qt_version: [5.12.6, 5.13.2, 5.14.0, 5.15.0, 6.0.0]
  13. platform: [ubuntu-20.04, windows-latest, macos-latest]
  14. include:
  15. - qt_version: 6.0.0
  16. additional_arguments: -D QT_DEFAULT_MAJOR_VERSION=6
  17. - platform: ubuntu-20.04
  18. make: make
  19. CXXFLAGS: -Wall -Wextra -pedantic -Werror
  20. MAKEFLAGS: -j2
  21. - platform: macos-latest
  22. make: make
  23. CXXFLAGS: -Wall -Wextra -pedantic -Werror
  24. MAKEFLAGS: -j3
  25. - platform: windows-latest
  26. make: nmake
  27. CXXFLAGS: /W4 /WX /MP
  28. runs-on: ${{ matrix.platform }}
  29. env:
  30. CXXFLAGS: ${{ matrix.CXXFLAGS }}
  31. MAKEFLAGS: ${{ matrix.MAKEFLAGS }}
  32. steps:
  33. - name: Clone repo
  34. uses: actions/checkout@v2.3.4
  35. - name: Install Qt
  36. uses: jurplel/install-qt-action@v2.14.0
  37. with:
  38. version: ${{ matrix.qt_version }}
  39. - name: Build library with CMake
  40. run: |
  41. cmake . ${{ matrix.additional_arguments }}
  42. cmake --build .
  43. - name: Build basic example with CMake
  44. working-directory: examples/basic/
  45. run: |
  46. cmake . ${{ matrix.additional_arguments }}
  47. cmake --build .
  48. - name: Build calculator example CMake
  49. working-directory: examples/calculator/
  50. run: |
  51. cmake . ${{ matrix.additional_arguments }}
  52. cmake --build .
  53. - name: Build sending_arguments example with CMake
  54. working-directory: examples/sending_arguments/
  55. run: |
  56. cmake . ${{ matrix.additional_arguments }}
  57. cmake --build .
  58. - name: Setup MSVC environment for QMake
  59. uses: ilammy/msvc-dev-cmd@v1
  60. - name: Build basic example with QMake
  61. working-directory: examples/basic/
  62. run: |
  63. qmake
  64. ${{ matrix.make }}
  65. - name: Build calculator example QMake
  66. working-directory: examples/calculator/
  67. run: |
  68. qmake
  69. ${{ matrix.make }}
  70. - name: Build sending_arguments example with QMake
  71. working-directory: examples/sending_arguments/
  72. run: |
  73. qmake
  74. ${{ matrix.make }}