multi-compiler.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. if: github.repository_owner == 'wolfssl'
  47. runs-on: ${{ matrix.OS }}
  48. # This should be a safe limit for the tests to run.
  49. timeout-minutes: 4
  50. steps:
  51. - uses: actions/checkout@v4
  52. - name: Build
  53. env:
  54. CC: ${{ matrix.CC }}
  55. CXX: ${{ matrix.CXX }}
  56. run: ./autogen.sh && ./configure && make && make dist
  57. - name: Show log on errors
  58. if: ${{ failure() }}
  59. run: |
  60. cat config.log