multi-compiler.yml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. name: Multiple compilers and versions
  2. # START OF COMMON SECTION
  3. on:
  4. push:
  5. branches: [ 'master', 'main', 'release/**' ]
  6. pull_request:
  7. branches: [ '*' ]
  8. concurrency:
  9. group: ${{ github.workflow }}-${{ github.ref }}
  10. cancel-in-progress: true
  11. # END OF COMMON SECTION
  12. jobs:
  13. my_matrix:
  14. name: Compiler test
  15. strategy:
  16. fail-fast: false
  17. matrix:
  18. include:
  19. - CC: gcc-9
  20. CXX: g++-9
  21. OS: ubuntu-latest
  22. - CC: gcc-10
  23. CXX: g++-10
  24. OS: ubuntu-latest
  25. - CC: gcc-11
  26. CXX: g++-11
  27. OS: ubuntu-latest
  28. - CC: gcc-12
  29. CXX: g++-12
  30. OS: ubuntu-latest
  31. - CC: clang-10
  32. CXX: clang++-10
  33. OS: ubuntu-20.04
  34. - CC: clang-11
  35. CXX: clang++-11
  36. OS: ubuntu-20.04
  37. - CC: clang-12
  38. CXX: clang++-12
  39. OS: ubuntu-20.04
  40. - CC: clang-13
  41. CXX: clang++-13
  42. OS: ubuntu-latest
  43. - CC: clang-14
  44. CXX: clang++-14
  45. OS: ubuntu-latest
  46. runs-on: ${{ matrix.OS }}
  47. # This should be a safe limit for the tests to run.
  48. timeout-minutes: 4
  49. steps:
  50. - uses: actions/checkout@v4
  51. - name: Build
  52. env:
  53. CC: ${{ matrix.CC }}
  54. CXX: ${{ matrix.CXX }}
  55. run: ./autogen.sh && ./configure && make && make dist
  56. - name: Show log on errors
  57. if: ${{ failure() }}
  58. run: |
  59. cat config.log