blob: baf55364ee5362e1c95830ab997e9815267a3944 [file]
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.