This is an automated email from the ASF dual-hosted git repository.
zeroshade pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-go.git
The following commit(s) were added to refs/heads/main by this push:
new 3d806803 ci: run parquet/file once on macOS (#1422)
3d806803 is described below
commit 3d8068034d243b5f07545802fc5b3f1c5c3ee208
Author: Matt Topol <[email protected]>
AuthorDate: Mon Oct 26 17:49:54 2026 +0000
ci: run parquet/file once on macOS (#1422)
### Rationale for this change
The macOS ARM64 Test jobs are running into their `timeout-minutes`. In
the last 40 Test runs, successful `ARM64 macOS 14 Go 1.26` jobs took
14–17 minutes against a 20-minute limit, and two jobs were cancelled at
the limit today (#1414's `ARM64 macOS 14 Go 1.26`, #1421's `ARM64 macOS
14 Go 1.26 - CGO`), both during the last command of
`ci/scripts/test.sh`: `go test -race -tags assert,noasm …/parquet/file`.
All tests that had run passed.
On macOS, `parquet/file` runs in its own invocation, once per tag set
(`assert`, then `assert,noasm`); under `-race` that takes about 90
seconds or more each time. But `parquet/file` has no `noasm`-specific
code: every `noasm` variant lives in `parquet/internal/bmi`,
`parquet/internal/encoding`, `parquet/internal/utils` and
`parquet/metadata`, which are still tested in both passes. The second
run repeats the same tests.
### What changes are included in this PR?
`ci/scripts/test.sh` runs the macOS-only `parquet/file` invocation once,
with `-tags assert`, after both passes over the other parquet packages.
Other platforms are unchanged (`parquet/file` stays part of `./...` in
both passes there).
### Are these changes tested?
`bash -n` passes. A dry run of the script with `go` stubbed to report
darwin and print each `go test` command shows the arrow passes
unchanged, the other parquet packages in both `assert` and
`assert,noasm` passes, and `parquet/file` once with `assert`. This PR's
own macOS jobs exercise it.
### Are there any user-facing changes?
No.
---
ci/scripts/test.sh | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/ci/scripts/test.sh b/ci/scripts/test.sh
index 3f18097b..b60c36fd 100755
--- a/ci/scripts/test.sh
+++ b/ci/scripts/test.sh
@@ -141,9 +141,14 @@ fi
for parquet_tags in assert assert,noasm; do
go test "${test_args[@]}" -tags "${parquet_tags}" "${parquet_pkgs[@]}"
- if [[ ${#serial_pkgs[@]} -gt 0 ]]; then
- go test "${test_args[@]}" -tags "${parquet_tags}" "${serial_pkgs[@]}"
- fi
done
+# parquet/file has no noasm-specific code: every noasm variant it depends on
+# (parquet/internal/{bmi,encoding,utils}, parquet/metadata) is already tested
+# in both passes above, so a second run under noasm only repeats its slow
+# -race tests and has pushed the macOS jobs past their timeout.
+if [[ ${#serial_pkgs[@]} -gt 0 ]]; then
+ go test "${test_args[@]}" -tags assert "${serial_pkgs[@]}"
+fi
+
popd