Home | History | Annotate | Line # | Download | only in workflows
      1 # This config file is generated by ./scripts/gen_gh_actions.py.
      2 # Do not edit by hand.
      3 
      4 name: Linux CI
      5 
      6 on:
      7   push:
      8     branches: [ dev, ci_travis ]
      9   pull_request:
     10     branches: [ dev ]
     11 
     12 jobs:
     13   test-linux:
     14     runs-on: ubuntu-24.04
     15     strategy:
     16       fail-fast: false
     17       matrix:
     18         include:
     19           - env:
     20               CC: gcc
     21               CXX: g++
     22               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     23           - env:
     24               CC: clang
     25               CXX: clang++
     26               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
     27           - env:
     28               CC: gcc
     29               CXX: g++
     30               CROSS_COMPILE_32BIT: yes
     31               COMPILER_FLAGS: -m32
     32               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     33           - env:
     34               CC: gcc
     35               CXX: g++
     36               CONFIGURE_FLAGS: --enable-debug
     37               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     38           - env:
     39               CC: gcc
     40               CXX: g++
     41               CONFIGURE_FLAGS: --enable-prof
     42               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     43           - env:
     44               CC: gcc
     45               CXX: g++
     46               CONFIGURE_FLAGS: --disable-stats
     47               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     48           - env:
     49               CC: gcc
     50               CXX: g++
     51               CONFIGURE_FLAGS: --disable-libdl
     52               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     53           - env:
     54               CC: gcc
     55               CXX: g++
     56               CONFIGURE_FLAGS: --enable-opt-safety-checks
     57               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     58           - env:
     59               CC: gcc
     60               CXX: g++
     61               CONFIGURE_FLAGS: --with-lg-page=16
     62               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     63           - env:
     64               CC: gcc
     65               CXX: g++
     66               CONFIGURE_FLAGS: "--enable-prof --enable-prof-frameptr"
     67               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     68           - env:
     69               CC: gcc
     70               CXX: g++
     71               CONFIGURE_FLAGS: "--with-malloc-conf=tcache:false"
     72               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     73           - env:
     74               CC: gcc
     75               CXX: g++
     76               CONFIGURE_FLAGS: "--with-malloc-conf=dss:primary"
     77               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     78           - env:
     79               CC: gcc
     80               CXX: g++
     81               CONFIGURE_FLAGS: "--with-malloc-conf=percpu_arena:percpu"
     82               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     83           - env:
     84               CC: gcc
     85               CXX: g++
     86               CONFIGURE_FLAGS: "--with-malloc-conf=background_thread:true"
     87               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
     88           - env:
     89               CC: clang
     90               CXX: clang++
     91               CROSS_COMPILE_32BIT: yes
     92               COMPILER_FLAGS: -m32
     93               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
     94           - env:
     95               CC: clang
     96               CXX: clang++
     97               CONFIGURE_FLAGS: --enable-debug
     98               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
     99           - env:
    100               CC: clang
    101               CXX: clang++
    102               CONFIGURE_FLAGS: --enable-prof
    103               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    104           - env:
    105               CC: clang
    106               CXX: clang++
    107               CONFIGURE_FLAGS: --disable-stats
    108               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    109           - env:
    110               CC: clang
    111               CXX: clang++
    112               CONFIGURE_FLAGS: --disable-libdl
    113               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    114           - env:
    115               CC: clang
    116               CXX: clang++
    117               CONFIGURE_FLAGS: --enable-opt-safety-checks
    118               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    119           - env:
    120               CC: clang
    121               CXX: clang++
    122               CONFIGURE_FLAGS: --with-lg-page=16
    123               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    124           - env:
    125               CC: clang
    126               CXX: clang++
    127               CONFIGURE_FLAGS: "--enable-prof --enable-prof-frameptr"
    128               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    129           - env:
    130               CC: clang
    131               CXX: clang++
    132               CONFIGURE_FLAGS: "--with-malloc-conf=tcache:false"
    133               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    134           - env:
    135               CC: clang
    136               CXX: clang++
    137               CONFIGURE_FLAGS: "--with-malloc-conf=dss:primary"
    138               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    139           - env:
    140               CC: clang
    141               CXX: clang++
    142               CONFIGURE_FLAGS: "--with-malloc-conf=percpu_arena:percpu"
    143               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    144           - env:
    145               CC: clang
    146               CXX: clang++
    147               CONFIGURE_FLAGS: "--with-malloc-conf=background_thread:true"
    148               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    149           - env:
    150               CC: gcc
    151               CXX: g++
    152               CROSS_COMPILE_32BIT: yes
    153               COMPILER_FLAGS: -m32
    154               CONFIGURE_FLAGS: --enable-debug
    155               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    156           - env:
    157               CC: gcc
    158               CXX: g++
    159               CROSS_COMPILE_32BIT: yes
    160               COMPILER_FLAGS: -m32
    161               CONFIGURE_FLAGS: --enable-prof
    162               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    163           - env:
    164               CC: gcc
    165               CXX: g++
    166               CROSS_COMPILE_32BIT: yes
    167               COMPILER_FLAGS: -m32
    168               CONFIGURE_FLAGS: --disable-stats
    169               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    170           - env:
    171               CC: gcc
    172               CXX: g++
    173               CROSS_COMPILE_32BIT: yes
    174               COMPILER_FLAGS: -m32
    175               CONFIGURE_FLAGS: --disable-libdl
    176               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    177           - env:
    178               CC: gcc
    179               CXX: g++
    180               CROSS_COMPILE_32BIT: yes
    181               COMPILER_FLAGS: -m32
    182               CONFIGURE_FLAGS: --enable-opt-safety-checks
    183               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    184           - env:
    185               CC: gcc
    186               CXX: g++
    187               CROSS_COMPILE_32BIT: yes
    188               COMPILER_FLAGS: -m32
    189               CONFIGURE_FLAGS: --with-lg-page=16
    190               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    191           - env:
    192               CC: gcc
    193               CXX: g++
    194               CROSS_COMPILE_32BIT: yes
    195               COMPILER_FLAGS: -m32
    196               CONFIGURE_FLAGS: "--enable-prof --enable-prof-frameptr"
    197               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    198           - env:
    199               CC: gcc
    200               CXX: g++
    201               CROSS_COMPILE_32BIT: yes
    202               COMPILER_FLAGS: -m32
    203               CONFIGURE_FLAGS: "--with-malloc-conf=tcache:false"
    204               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    205           - env:
    206               CC: gcc
    207               CXX: g++
    208               CROSS_COMPILE_32BIT: yes
    209               COMPILER_FLAGS: -m32
    210               CONFIGURE_FLAGS: "--with-malloc-conf=dss:primary"
    211               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    212           - env:
    213               CC: gcc
    214               CXX: g++
    215               CROSS_COMPILE_32BIT: yes
    216               COMPILER_FLAGS: -m32
    217               CONFIGURE_FLAGS: "--with-malloc-conf=percpu_arena:percpu"
    218               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    219           - env:
    220               CC: gcc
    221               CXX: g++
    222               CROSS_COMPILE_32BIT: yes
    223               COMPILER_FLAGS: -m32
    224               CONFIGURE_FLAGS: "--with-malloc-conf=background_thread:true"
    225               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    226           - env:
    227               CC: gcc
    228               CXX: g++
    229               CONFIGURE_FLAGS: "--enable-debug --enable-prof"
    230               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    231           - env:
    232               CC: gcc
    233               CXX: g++
    234               CONFIGURE_FLAGS: "--enable-debug --disable-stats"
    235               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    236           - env:
    237               CC: gcc
    238               CXX: g++
    239               CONFIGURE_FLAGS: "--enable-debug --disable-libdl"
    240               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    241           - env:
    242               CC: gcc
    243               CXX: g++
    244               CONFIGURE_FLAGS: "--enable-debug --enable-opt-safety-checks"
    245               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    246           - env:
    247               CC: gcc
    248               CXX: g++
    249               CONFIGURE_FLAGS: "--enable-debug --with-lg-page=16"
    250               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    251           - env:
    252               CC: gcc
    253               CXX: g++
    254               CONFIGURE_FLAGS: "--enable-debug --enable-prof --enable-prof-frameptr"
    255               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    256           - env:
    257               CC: gcc
    258               CXX: g++
    259               CONFIGURE_FLAGS: "--enable-debug --with-malloc-conf=tcache:false"
    260               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    261           - env:
    262               CC: gcc
    263               CXX: g++
    264               CONFIGURE_FLAGS: "--enable-debug --with-malloc-conf=dss:primary"
    265               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    266           - env:
    267               CC: gcc
    268               CXX: g++
    269               CONFIGURE_FLAGS: "--enable-debug --with-malloc-conf=percpu_arena:percpu"
    270               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    271           - env:
    272               CC: gcc
    273               CXX: g++
    274               CONFIGURE_FLAGS: "--enable-debug --with-malloc-conf=background_thread:true"
    275               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    276           - env:
    277               CC: gcc
    278               CXX: g++
    279               CONFIGURE_FLAGS: "--enable-prof --disable-stats"
    280               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    281           - env:
    282               CC: gcc
    283               CXX: g++
    284               CONFIGURE_FLAGS: "--enable-prof --disable-libdl"
    285               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    286           - env:
    287               CC: gcc
    288               CXX: g++
    289               CONFIGURE_FLAGS: "--enable-prof --enable-opt-safety-checks"
    290               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    291           - env:
    292               CC: gcc
    293               CXX: g++
    294               CONFIGURE_FLAGS: "--enable-prof --with-lg-page=16"
    295               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    296           - env:
    297               CC: gcc
    298               CXX: g++
    299               CONFIGURE_FLAGS: "--enable-prof --enable-prof --enable-prof-frameptr"
    300               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    301           - env:
    302               CC: gcc
    303               CXX: g++
    304               CONFIGURE_FLAGS: "--enable-prof --with-malloc-conf=tcache:false"
    305               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    306           - env:
    307               CC: gcc
    308               CXX: g++
    309               CONFIGURE_FLAGS: "--enable-prof --with-malloc-conf=dss:primary"
    310               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    311           - env:
    312               CC: gcc
    313               CXX: g++
    314               CONFIGURE_FLAGS: "--enable-prof --with-malloc-conf=percpu_arena:percpu"
    315               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    316           - env:
    317               CC: gcc
    318               CXX: g++
    319               CONFIGURE_FLAGS: "--enable-prof --with-malloc-conf=background_thread:true"
    320               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    321           - env:
    322               CC: gcc
    323               CXX: g++
    324               CONFIGURE_FLAGS: "--disable-stats --disable-libdl"
    325               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    326           - env:
    327               CC: gcc
    328               CXX: g++
    329               CONFIGURE_FLAGS: "--disable-stats --enable-opt-safety-checks"
    330               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    331           - env:
    332               CC: gcc
    333               CXX: g++
    334               CONFIGURE_FLAGS: "--disable-stats --with-lg-page=16"
    335               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    336           - env:
    337               CC: gcc
    338               CXX: g++
    339               CONFIGURE_FLAGS: "--disable-stats --enable-prof --enable-prof-frameptr"
    340               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    341           - env:
    342               CC: gcc
    343               CXX: g++
    344               CONFIGURE_FLAGS: "--disable-stats --with-malloc-conf=tcache:false"
    345               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    346           - env:
    347               CC: gcc
    348               CXX: g++
    349               CONFIGURE_FLAGS: "--disable-stats --with-malloc-conf=dss:primary"
    350               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    351           - env:
    352               CC: gcc
    353               CXX: g++
    354               CONFIGURE_FLAGS: "--disable-stats --with-malloc-conf=percpu_arena:percpu"
    355               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    356           - env:
    357               CC: gcc
    358               CXX: g++
    359               CONFIGURE_FLAGS: "--disable-stats --with-malloc-conf=background_thread:true"
    360               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    361           - env:
    362               CC: gcc
    363               CXX: g++
    364               CONFIGURE_FLAGS: "--disable-libdl --enable-opt-safety-checks"
    365               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    366           - env:
    367               CC: gcc
    368               CXX: g++
    369               CONFIGURE_FLAGS: "--disable-libdl --with-lg-page=16"
    370               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    371           - env:
    372               CC: gcc
    373               CXX: g++
    374               CONFIGURE_FLAGS: "--disable-libdl --enable-prof --enable-prof-frameptr"
    375               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    376           - env:
    377               CC: gcc
    378               CXX: g++
    379               CONFIGURE_FLAGS: "--disable-libdl --with-malloc-conf=tcache:false"
    380               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    381           - env:
    382               CC: gcc
    383               CXX: g++
    384               CONFIGURE_FLAGS: "--disable-libdl --with-malloc-conf=dss:primary"
    385               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    386           - env:
    387               CC: gcc
    388               CXX: g++
    389               CONFIGURE_FLAGS: "--disable-libdl --with-malloc-conf=percpu_arena:percpu"
    390               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    391           - env:
    392               CC: gcc
    393               CXX: g++
    394               CONFIGURE_FLAGS: "--disable-libdl --with-malloc-conf=background_thread:true"
    395               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    396           - env:
    397               CC: gcc
    398               CXX: g++
    399               CONFIGURE_FLAGS: "--enable-opt-safety-checks --with-lg-page=16"
    400               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    401           - env:
    402               CC: gcc
    403               CXX: g++
    404               CONFIGURE_FLAGS: "--enable-opt-safety-checks --enable-prof --enable-prof-frameptr"
    405               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    406           - env:
    407               CC: gcc
    408               CXX: g++
    409               CONFIGURE_FLAGS: "--enable-opt-safety-checks --with-malloc-conf=tcache:false"
    410               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    411           - env:
    412               CC: gcc
    413               CXX: g++
    414               CONFIGURE_FLAGS: "--enable-opt-safety-checks --with-malloc-conf=dss:primary"
    415               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    416           - env:
    417               CC: gcc
    418               CXX: g++
    419               CONFIGURE_FLAGS: "--enable-opt-safety-checks --with-malloc-conf=percpu_arena:percpu"
    420               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    421           - env:
    422               CC: gcc
    423               CXX: g++
    424               CONFIGURE_FLAGS: "--enable-opt-safety-checks --with-malloc-conf=background_thread:true"
    425               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    426           - env:
    427               CC: gcc
    428               CXX: g++
    429               CONFIGURE_FLAGS: "--with-lg-page=16 --enable-prof --enable-prof-frameptr"
    430               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    431           - env:
    432               CC: gcc
    433               CXX: g++
    434               CONFIGURE_FLAGS: "--with-lg-page=16 --with-malloc-conf=tcache:false"
    435               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    436           - env:
    437               CC: gcc
    438               CXX: g++
    439               CONFIGURE_FLAGS: "--with-lg-page=16 --with-malloc-conf=dss:primary"
    440               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    441           - env:
    442               CC: gcc
    443               CXX: g++
    444               CONFIGURE_FLAGS: "--with-lg-page=16 --with-malloc-conf=percpu_arena:percpu"
    445               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    446           - env:
    447               CC: gcc
    448               CXX: g++
    449               CONFIGURE_FLAGS: "--with-lg-page=16 --with-malloc-conf=background_thread:true"
    450               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    451           - env:
    452               CC: gcc
    453               CXX: g++
    454               CONFIGURE_FLAGS: "--enable-prof --enable-prof-frameptr --with-malloc-conf=tcache:false"
    455               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    456           - env:
    457               CC: gcc
    458               CXX: g++
    459               CONFIGURE_FLAGS: "--enable-prof --enable-prof-frameptr --with-malloc-conf=dss:primary"
    460               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    461           - env:
    462               CC: gcc
    463               CXX: g++
    464               CONFIGURE_FLAGS: "--enable-prof --enable-prof-frameptr --with-malloc-conf=percpu_arena:percpu"
    465               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    466           - env:
    467               CC: gcc
    468               CXX: g++
    469               CONFIGURE_FLAGS: "--enable-prof --enable-prof-frameptr --with-malloc-conf=background_thread:true"
    470               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    471           - env:
    472               CC: gcc
    473               CXX: g++
    474               CONFIGURE_FLAGS: "--with-malloc-conf=tcache:false,dss:primary"
    475               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    476           - env:
    477               CC: gcc
    478               CXX: g++
    479               CONFIGURE_FLAGS: "--with-malloc-conf=tcache:false,percpu_arena:percpu"
    480               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    481           - env:
    482               CC: gcc
    483               CXX: g++
    484               CONFIGURE_FLAGS: "--with-malloc-conf=tcache:false,background_thread:true"
    485               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    486           - env:
    487               CC: gcc
    488               CXX: g++
    489               CONFIGURE_FLAGS: "--with-malloc-conf=dss:primary,percpu_arena:percpu"
    490               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    491           - env:
    492               CC: gcc
    493               CXX: g++
    494               CONFIGURE_FLAGS: "--with-malloc-conf=dss:primary,background_thread:true"
    495               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    496           - env:
    497               CC: gcc
    498               CXX: g++
    499               CONFIGURE_FLAGS: "--with-malloc-conf=percpu_arena:percpu,background_thread:true"
    500               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    501           - env:
    502               CC: gcc
    503               CXX: g++
    504               CONFIGURE_FLAGS: "--enable-debug --disable-cache-oblivious --enable-stats --enable-log --enable-prof"
    505               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    506           - env:
    507               CC: gcc
    508               CXX: g++
    509               CONFIGURE_FLAGS: "--enable-debug --enable-experimental-smallocx --enable-stats --enable-prof"
    510               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    511 
    512     steps:
    513     - uses: actions/checkout@v4
    514 
    515     - name: Show OS version
    516       run: |
    517         echo "=== System Information ==="
    518         uname -a
    519         echo ""
    520         echo "=== Architecture ==="
    521         uname -m
    522         arch
    523         echo ""
    524         echo "=== OS Release ==="
    525         cat /etc/os-release || true
    526         echo ""
    527         echo "=== CPU Info ==="
    528         lscpu | grep -E "Architecture|CPU op-mode|Byte Order|CPU\(s\):" || true
    529 
    530     - name: Install dependencies (32-bit)
    531       if: matrix.env.CROSS_COMPILE_32BIT == 'yes'
    532       run: |
    533         sudo dpkg --add-architecture i386
    534         sudo apt-get update
    535         sudo apt-get install -y gcc-multilib g++-multilib libc6-dev-i386
    536 
    537     - name: Build and test
    538       env:
    539         CC: ${{ matrix.env.CC }}
    540         CXX: ${{ matrix.env.CXX }}
    541         COMPILER_FLAGS: ${{ matrix.env.COMPILER_FLAGS }}
    542         CONFIGURE_FLAGS: ${{ matrix.env.CONFIGURE_FLAGS }}
    543         EXTRA_CFLAGS: ${{ matrix.env.EXTRA_CFLAGS }}
    544       run: |
    545         # Verify the script generates the same output
    546         ./scripts/gen_gh_actions.py > gh_actions_script.yml
    547 
    548         # Run autoconf
    549         autoconf
    550 
    551         # Configure with flags
    552         if [ -n "$COMPILER_FLAGS" ]; then
    553           ./configure CC="${CC} ${COMPILER_FLAGS}" CXX="${CXX} ${COMPILER_FLAGS}" $CONFIGURE_FLAGS
    554         else
    555           ./configure $CONFIGURE_FLAGS
    556         fi
    557 
    558         # Build
    559         make -j3
    560         make -j3 tests
    561 
    562         # Run tests
    563         make check
    564 
    565 
    566   test-linux-arm64:
    567     runs-on: ubuntu-24.04-arm
    568     strategy:
    569       fail-fast: false
    570       matrix:
    571         include:
    572           - env:
    573               CC: gcc
    574               CXX: g++
    575               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    576           - env:
    577               CC: clang
    578               CXX: clang++
    579               EXTRA_CFLAGS: "-Werror -Wno-array-bounds -Wno-unknown-warning-option -Wno-ignored-attributes"
    580           - env:
    581               CC: gcc
    582               CXX: g++
    583               CONFIGURE_FLAGS: --enable-debug
    584               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    585           - env:
    586               CC: gcc
    587               CXX: g++
    588               CONFIGURE_FLAGS: --enable-prof
    589               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    590           - env:
    591               CC: gcc
    592               CXX: g++
    593               CONFIGURE_FLAGS: --disable-stats
    594               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    595           - env:
    596               CC: gcc
    597               CXX: g++
    598               CONFIGURE_FLAGS: --disable-libdl
    599               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    600           - env:
    601               CC: gcc
    602               CXX: g++
    603               CONFIGURE_FLAGS: --enable-opt-safety-checks
    604               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    605           - env:
    606               CC: gcc
    607               CXX: g++
    608               CONFIGURE_FLAGS: --with-lg-page=16
    609               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    610           - env:
    611               CC: gcc
    612               CXX: g++
    613               CONFIGURE_FLAGS: "--with-lg-page=16 --with-lg-hugepage=29"
    614               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    615           - env:
    616               CC: gcc
    617               CXX: g++
    618               CONFIGURE_FLAGS: "--enable-prof --enable-prof-frameptr"
    619               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    620           - env:
    621               CC: gcc
    622               CXX: g++
    623               CONFIGURE_FLAGS: "--with-malloc-conf=tcache:false"
    624               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    625           - env:
    626               CC: gcc
    627               CXX: g++
    628               CONFIGURE_FLAGS: "--with-malloc-conf=dss:primary"
    629               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    630           - env:
    631               CC: gcc
    632               CXX: g++
    633               CONFIGURE_FLAGS: "--with-malloc-conf=percpu_arena:percpu"
    634               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    635           - env:
    636               CC: gcc
    637               CXX: g++
    638               CONFIGURE_FLAGS: "--with-malloc-conf=background_thread:true"
    639               EXTRA_CFLAGS: "-Werror -Wno-array-bounds"
    640 
    641     steps:
    642     - uses: actions/checkout@v4
    643 
    644     - name: Show OS version
    645       run: |
    646         echo "=== System Information ==="
    647         uname -a
    648         echo ""
    649         echo "=== Architecture ==="
    650         uname -m
    651         arch
    652         echo ""
    653         echo "=== OS Release ==="
    654         cat /etc/os-release || true
    655         echo ""
    656         echo "=== CPU Info ==="
    657         lscpu | grep -E "Architecture|CPU op-mode|Byte Order|CPU\(s\):" || true
    658 
    659     - name: Install dependencies (32-bit)
    660       if: matrix.env.CROSS_COMPILE_32BIT == 'yes'
    661       run: |
    662         sudo dpkg --add-architecture i386
    663         sudo apt-get update
    664         sudo apt-get install -y gcc-multilib g++-multilib libc6-dev-i386
    665 
    666     - name: Build and test
    667       env:
    668         CC: ${{ matrix.env.CC }}
    669         CXX: ${{ matrix.env.CXX }}
    670         COMPILER_FLAGS: ${{ matrix.env.COMPILER_FLAGS }}
    671         CONFIGURE_FLAGS: ${{ matrix.env.CONFIGURE_FLAGS }}
    672         EXTRA_CFLAGS: ${{ matrix.env.EXTRA_CFLAGS }}
    673       run: |
    674         # Verify the script generates the same output
    675         ./scripts/gen_gh_actions.py > gh_actions_script.yml
    676 
    677         # Run autoconf
    678         autoconf
    679 
    680         # Configure with flags
    681         if [ -n "$COMPILER_FLAGS" ]; then
    682           ./configure CC="${CC} ${COMPILER_FLAGS}" CXX="${CXX} ${COMPILER_FLAGS}" $CONFIGURE_FLAGS
    683         else
    684           ./configure $CONFIGURE_FLAGS
    685         fi
    686 
    687         # Build
    688         make -j3
    689         make -j3 tests
    690 
    691         # Run tests
    692         make check
    693 
    694 
    695 
    696