multi-compiler.yml 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. name: Multiple compilers and versions
  2. on:
  3. workflow_call:
  4. jobs:
  5. my_matrix:
  6. name: Compiler test
  7. strategy:
  8. fail-fast: false
  9. matrix:
  10. include:
  11. - CC: gcc-9
  12. CXX: g++-9
  13. OS: ubuntu-latest
  14. - CC: gcc-10
  15. CXX: g++-10
  16. OS: ubuntu-latest
  17. - CC: gcc-11
  18. CXX: g++-11
  19. OS: ubuntu-latest
  20. - CC: gcc-12
  21. CXX: g++-12
  22. OS: ubuntu-latest
  23. - CC: clang-10
  24. CXX: clang++-10
  25. OS: ubuntu-20.04
  26. - CC: clang-11
  27. CXX: clang++-11
  28. OS: ubuntu-20.04
  29. - CC: clang-12
  30. CXX: clang++-12
  31. OS: ubuntu-20.04
  32. - CC: clang-13
  33. CXX: clang++-13
  34. OS: ubuntu-latest
  35. - CC: clang-14
  36. CXX: clang++-14
  37. OS: ubuntu-latest
  38. runs-on: ${{ matrix.OS }}
  39. # This should be a safe limit for the tests to run.
  40. timeout-minutes: 4
  41. steps:
  42. - uses: actions/checkout@v3
  43. - name: Build
  44. env:
  45. CC: ${{ matrix.CC }}
  46. CXX: ${{ matrix.CXX }}
  47. run: ./autogen.sh && ./configure && make && make dist
  48. - name: Show log on errors
  49. if: ${{ failure() }}
  50. run: |
  51. cat config.log