1name: Test on Linux 2on: 3 push: 4 branches: 5 - master 6 pull_request: 7 workflow_dispatch: 8 inputs: 9 debug_enabled: 10 description: 'Run the tests with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' 11 required: false 12 default: false 13 schedule: 14 # Run at 8:13 on the 1st day of each month 15 - cron: '13 8 1 * *' 16jobs: 17 Ubuntu-22-10: 18 runs-on: ubuntu-latest 19 container: polettimarco/fruit-basesystem:ubuntu-22.10 20 env: 21 N_JOBS: 2 22 ASAN_OPTIONS: "" 23 OS: "linux" 24 COMPILER: ${{ matrix.config.compiler }} 25 STLARG: ${{ matrix.config.stlarg }} 26 steps: 27 - uses: actions/checkout@v3 28 - name: test 29 run: extras/scripts/postsubmit-helper.sh ${{ matrix.config.test }} 30 - name: Setup tmate session 31 uses: mxschmitt/action-tmate@v3 32 if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled && failure() }} 33 strategy: 34 fail-fast: false 35 matrix: 36 config: 37 - {compiler: clang-15.0, stlarg: -stdlib=libstdc++, test: ReleasePlain} 38 - {compiler: clang-15.0, stlarg: -stdlib=libstdc++, test: DebugPlain} 39 - {compiler: clang-15.0, stlarg: -stdlib=libstdc++, test: DebugAsanUbsan} 40 - {compiler: gcc-12, test: ReleasePlain} 41 - {compiler: gcc-12, test: DebugPlain} 42 - {compiler: gcc-12, test: DebugAsanUbsan} 43 - {compiler: clang-11.0, stlarg: -stdlib=libstdc++, test: ReleasePlain} 44 - {compiler: clang-11.0, stlarg: -stdlib=libstdc++, test: DebugPlain} 45 # clang-11 has issues in the DebugAsanUbsan configuration 46 - {compiler: clang-13.0, stlarg: -stdlib=libstdc++, test: DebugAsanUbsan} 47 - {compiler: gcc-9, test: ReleasePlain} 48 - {compiler: gcc-9, test: DebugAsanUbsan} 49 50 Ubuntu-22-04: 51 runs-on: ubuntu-latest 52 container: polettimarco/fruit-basesystem:ubuntu-22.04 53 env: 54 N_JOBS: 2 55 ASAN_OPTIONS: "" 56 OS: "linux" 57 COMPILER: ${{ matrix.config.compiler }} 58 STLARG: ${{ matrix.config.stlarg }} 59 steps: 60 - uses: actions/checkout@v3 61 - name: test 62 run: extras/scripts/postsubmit-helper.sh ${{ matrix.config.test }} 63 - name: Setup tmate session 64 uses: mxschmitt/action-tmate@v3 65 if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled && failure() }} 66 strategy: 67 fail-fast: false 68 matrix: 69 config: 70 - {compiler: clang-15.0, stlarg: -stdlib=libstdc++, test: ReleasePlain} 71 - {compiler: clang-15.0, stlarg: -stdlib=libstdc++, test: DebugPlain} 72 - {compiler: clang-15.0, stlarg: -stdlib=libstdc++, test: DebugAsanUbsan} 73 - {compiler: gcc-12, test: ReleasePlain} 74 - {compiler: gcc-12, test: DebugAsanUbsan} 75 - {compiler: clang-11.0, stlarg: -stdlib=libstdc++, test: ReleasePlain} 76 - {compiler: clang-11.0, stlarg: -stdlib=libstdc++, test: DebugPlain} 77 # clang-11 has issues in the DebugAsanUbsan configuration 78 - {compiler: clang-13.0, stlarg: -stdlib=libstdc++, test: DebugAsanUbsan} 79 - {compiler: gcc-9, test: ReleasePlain} 80 - {compiler: gcc-9, test: DebugAsanUbsan} 81 82 Ubuntu-20-04: 83 runs-on: ubuntu-latest 84 container: polettimarco/fruit-basesystem:ubuntu-20.04 85 env: 86 N_JOBS: 2 87 ASAN_OPTIONS: "" 88 OS: "linux" 89 COMPILER: ${{ matrix.config.compiler }} 90 STLARG: ${{ matrix.config.stlarg }} 91 steps: 92 - uses: actions/checkout@v3 93 - name: test 94 run: extras/scripts/postsubmit-helper.sh ${{ matrix.config.test }} 95 - name: Setup tmate session 96 uses: mxschmitt/action-tmate@v3 97 if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled && failure() }} 98 strategy: 99 fail-fast: false 100 matrix: 101 config: 102 - {compiler: clang-10.0, stlarg: -stdlib=libstdc++, test: ReleasePlain} 103 - {compiler: clang-10.0, stlarg: -stdlib=libstdc++, test: DebugPlain} 104 - {compiler: clang-10.0, stlarg: -stdlib=libstdc++, test: DebugAsanUbsan} 105 - {compiler: gcc-10, test: ReleasePlain} 106 - {compiler: gcc-10, test: DebugAsanUbsan} 107 - {compiler: clang-6.0, stlarg: -stdlib=libstdc++, test: ReleasePlain} 108 - {compiler: clang-6.0, stlarg: -stdlib=libstdc++, test: DebugPlain} 109 - {compiler: clang-6.0, stlarg: -stdlib=libstdc++, test: DebugAsanUbsan} 110 - {compiler: gcc-7, test: ReleasePlain} 111 - {compiler: gcc-7, test: DebugAsanUbsan} 112