• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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