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