name: Multiple compilers and versions # START OF COMMON SECTION on: push: branches: [ 'master', 'main', 'release/**' ] pull_request: branches: [ '*' ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true # END OF COMMON SECTION jobs: my_matrix: name: Compiler test strategy: fail-fast: false matrix: include: - CC: gcc-9 CXX: g++-9 OS: ubuntu-latest - CC: gcc-10 CXX: g++-10 OS: ubuntu-latest - CC: gcc-11 CXX: g++-11 OS: ubuntu-latest - CC: gcc-12 CXX: g++-12 OS: ubuntu-latest - CC: clang-10 CXX: clang++-10 OS: ubuntu-20.04 - CC: clang-11 CXX: clang++-11 OS: ubuntu-20.04 - CC: clang-12 CXX: clang++-12 OS: ubuntu-20.04 - CC: clang-13 CXX: clang++-13 OS: ubuntu-latest - CC: clang-14 CXX: clang++-14 OS: ubuntu-latest if: github.repository_owner == 'wolfssl' runs-on: ${{ matrix.OS }} # This should be a safe limit for the tests to run. timeout-minutes: 4 steps: - name: Install dependencies run: export DEBIAN_FRONTEND=noninteractive && sudo apt-get update && sudo apt-get install -y ${{ matrix.CC }} - uses: actions/checkout@v4 - name: Build env: CC: ${{ matrix.CC }} CXX: ${{ matrix.CXX }} run: ./autogen.sh && ./configure && make && make dist - name: Show log on errors if: ${{ failure() }} run: | cat config.log