| matrix: |
| platform: |
| - debian13 |
| - debian13_arm64 |
| - macos_arm64 |
| - ubuntu2004 |
| - ubuntu2004_arm64 |
| - windows |
| bazel: ["7.x", "8.x", "9.x"] |
| tasks: |
| verify_targets: |
| name: "Default build + test" |
| platform: ${{ platform }} |
| bazel: ${{ bazel }} |
| build_targets: |
| - "@gawk//..." |
| test_targets: |
| - "@gawk//..." |
| |
| # --------------------------------------------------------------------- |
| # Flag-coverage tasks. Each toggles one of gawk's `bool_flag` knobs to |
| # exercise its `select()` wiring (autoconf check + cc_library deps). |
| # Run on a single Linux platform to validate flag plumbing — full |
| # multi-platform coverage already runs via `verify_targets` above. |
| # --------------------------------------------------------------------- |
| |
| disable_lint_on: |
| name: "Build/test with //:disable_lint=true" |
| platform: ${{ platform }} |
| bazel: ${{ bazel }} |
| build_flags: |
| - "--@gawk//:disable_lint=true" |
| test_flags: |
| - "--@gawk//:disable_lint=true" |
| build_targets: |
| - "@gawk//..." |
| test_targets: |
| - "@gawk//..." |
| |
| builtin_intdiv0_on: |
| name: "Build/test with //:builtin_intdiv0=true" |
| platform: ${{ platform }} |
| bazel: ${{ bazel }} |
| build_flags: |
| - "--@gawk//:builtin_intdiv0=true" |
| test_flags: |
| - "--@gawk//:builtin_intdiv0=true" |
| build_targets: |
| - "@gawk//..." |
| test_targets: |
| - "@gawk//..." |
| |
| disable_pma_on: |
| name: "Build/test with //:disable_pma=true" |
| platform: ${{ platform }} |
| bazel: ${{ bazel }} |
| build_flags: |
| - "--@gawk//:disable_pma=true" |
| test_flags: |
| - "--@gawk//:disable_pma=true" |
| build_targets: |
| - "@gawk//..." |
| test_targets: |
| - "@gawk//..." |
| |
| disable_extensions_on: |
| name: "Build/test with //:disable_extensions=true" |
| platform: ${{ platform }} |
| bazel: ${{ bazel }} |
| build_flags: |
| - "--@gawk//:disable_extensions=true" |
| test_flags: |
| - "--@gawk//:disable_extensions=true" |
| build_targets: |
| - "@gawk//..." |
| test_targets: |
| - "@gawk//..." |
| |
| versioned_extension_dir_on: |
| name: "Build/test with //:versioned_extension_dir=true" |
| platform: ${{ platform }} |
| bazel: ${{ bazel }} |
| build_flags: |
| - "--@gawk//:versioned_extension_dir=true" |
| test_flags: |
| - "--@gawk//:versioned_extension_dir=true" |
| build_targets: |
| - "@gawk//..." |
| test_targets: |
| - "@gawk//..." |
| |
| # NOTE: //:enable_mpfr and //:enable_readline are intentionally NOT |
| # exercised here yet. Both pull in upstream BCR modules with known |
| # link/cycle issues — `@mpfr` -> `@gmp` link errors (missing |
| # `__gmp_assert_fail` / `__gmp_binvert_limb_table` symbols) and |
| # `@readline` -> `@ncurses` circular dep through ncurses's term_h |
| # generation that itself uses gawk. The flags are wired correctly on |
| # gawk's side; turning them on works again once the upstream modules |
| # ship fixes. |