🛠️🐜 Antkeeper superbuild with dependencies included https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

169 lines
4.0 KiB

  1. name: build
  2. on: [push, pull_request]
  3. jobs:
  4. linux:
  5. timeout-minutes: 15
  6. strategy:
  7. matrix:
  8. compiler:
  9. - pkg: g++-7
  10. exe: g++-7
  11. - pkg: g++-8
  12. exe: g++-8
  13. - pkg: g++-9
  14. exe: g++-9
  15. - pkg: g++-10
  16. exe: g++-10
  17. - pkg: clang-8
  18. exe: clang++-8
  19. - pkg: clang-9
  20. exe: clang++-9
  21. - pkg: clang-10
  22. exe: clang++-10
  23. - pkg: clang-11
  24. exe: clang++-11
  25. - pkg: clang-12
  26. exe: clang++-12
  27. runs-on: ubuntu-latest
  28. steps:
  29. - uses: actions/checkout@v2
  30. - name: Install compiler
  31. run: |
  32. sudo apt update
  33. sudo apt install -y ${{ matrix.compiler.pkg }}
  34. - name: Compile tests
  35. working-directory: build
  36. env:
  37. CXX: ${{ matrix.compiler.exe }}
  38. run: |
  39. cmake -DENTT_BUILD_TESTING=ON -DENTT_BUILD_LIB=ON -DENTT_BUILD_EXAMPLE=ON ..
  40. make -j4
  41. - name: Run tests
  42. working-directory: build
  43. env:
  44. CTEST_OUTPUT_ON_FAILURE: 1
  45. run: ctest --timeout 30 -C Debug -j4
  46. linux-extra:
  47. timeout-minutes: 15
  48. strategy:
  49. matrix:
  50. compiler: [g++, clang++]
  51. id_type: ["std::uint32_t", "std::uint64_t"]
  52. cxx_std: [cxx_std_17, cxx_std_20]
  53. runs-on: ubuntu-latest
  54. steps:
  55. - uses: actions/checkout@v2
  56. - name: Compile tests
  57. working-directory: build
  58. env:
  59. CXX: ${{ matrix.compiler }}
  60. run: |
  61. cmake -DENTT_BUILD_TESTING=ON -DENTT_CXX_STD=${{ matrix.cxx_std }} -DENTT_ID_TYPE=${{ matrix.id_type }} ..
  62. make -j4
  63. - name: Run tests
  64. working-directory: build
  65. env:
  66. CTEST_OUTPUT_ON_FAILURE: 1
  67. run: ctest --timeout 30 -C Debug -j4
  68. windows:
  69. timeout-minutes: 15
  70. strategy:
  71. matrix:
  72. toolset: [default, v141, v142, clang-cl]
  73. include:
  74. - toolset: v141
  75. toolset_option: -T"v141"
  76. - toolset: v142
  77. toolset_option: -T"v142"
  78. - toolset: clang-cl
  79. toolset_option: -T"ClangCl"
  80. runs-on: windows-latest
  81. steps:
  82. - uses: actions/checkout@v2
  83. - name: Compile tests
  84. working-directory: build
  85. run: |
  86. cmake -DENTT_BUILD_TESTING=ON -DENTT_BUILD_LIB=ON -DENTT_BUILD_EXAMPLE=ON ${{ matrix.toolset_option }} ..
  87. cmake --build . -j 4
  88. - name: Run tests
  89. working-directory: build
  90. env:
  91. CTEST_OUTPUT_ON_FAILURE: 1
  92. run: ctest --timeout 30 -C Debug -j4
  93. windows-extra:
  94. timeout-minutes: 15
  95. strategy:
  96. matrix:
  97. id_type: ["std::uint32_t", "std::uint64_t"]
  98. cxx_std: [cxx_std_17, cxx_std_20]
  99. runs-on: windows-latest
  100. steps:
  101. - uses: actions/checkout@v2
  102. - name: Compile tests
  103. working-directory: build
  104. run: |
  105. cmake -DENTT_BUILD_TESTING=ON -DENTT_CXX_STD=${{ matrix.cxx_std }} -DENTT_ID_TYPE=${{ matrix.id_type }} ..
  106. cmake --build . -j 4
  107. - name: Run tests
  108. working-directory: build
  109. env:
  110. CTEST_OUTPUT_ON_FAILURE: 1
  111. run: ctest --timeout 30 -C Debug -j4
  112. macos:
  113. timeout-minutes: 15
  114. runs-on: macOS-latest
  115. steps:
  116. - uses: actions/checkout@v2
  117. - name: Compile tests
  118. working-directory: build
  119. run: |
  120. cmake -DENTT_BUILD_TESTING=ON -DENTT_BUILD_LIB=ON -DENTT_BUILD_EXAMPLE=ON ..
  121. make -j4
  122. - name: Run tests
  123. working-directory: build
  124. env:
  125. CTEST_OUTPUT_ON_FAILURE: 1
  126. run: ctest --timeout 30 -C Debug -j4
  127. macos-extra:
  128. timeout-minutes: 15
  129. strategy:
  130. matrix:
  131. id_type: ["std::uint32_t", "std::uint64_t"]
  132. cxx_std: [cxx_std_17, cxx_std_20]
  133. runs-on: macOS-latest
  134. steps:
  135. - uses: actions/checkout@v2
  136. - name: Compile tests
  137. working-directory: build
  138. run: |
  139. cmake -DENTT_BUILD_TESTING=ON -DENTT_CXX_STD=${{ matrix.cxx_std }} -DENTT_ID_TYPE=${{ matrix.id_type }} ..
  140. make -j4
  141. - name: Run tests
  142. working-directory: build
  143. env:
  144. CTEST_OUTPUT_ON_FAILURE: 1
  145. run: ctest --timeout 30 -C Debug -j4