Skip to content

Commit b54b60b

Browse files
committed
build: use task scheduler on macOS builds to avoid test race condition lockups.
Fixes #4995 Signed-off-by: deadprogram <ron@hybridgroup.com>
1 parent ed0fb77 commit b54b60b

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

.github/workflows/build-macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ jobs:
9696
- name: Build TinyGo release tarball
9797
run: make release -j3
9898
- name: Test stdlib packages
99-
run: make tinygo-test
99+
run: make tinygo-test TEST_ADDITIONAL_FLAGS="-scheduler=tasks"
100100
- name: Make release artifact
101101
run: cp -p build/release.tar.gz build/tinygo${{ steps.version.outputs.version }}.darwin-${{ matrix.goarch }}.tar.gz
102102
- name: Publish release artifact

GNUmakefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,14 +481,15 @@ TEST_IOFS := false
481481
endif
482482

483483
TEST_SKIP_FLAG := -skip='TestExtraMethods|TestParseAndBytesRoundTrip/P256/Generic'
484+
TEST_ADDITIONAL_FLAGS ?=
484485

485486
# Test known-working standard library packages.
486487
# TODO: parallelize, and only show failing tests (no implied -v flag).
487488
.PHONY: tinygo-test
488489
tinygo-test:
489490
@# TestExtraMethods: used by many crypto packages and uses reflect.Type.Method which is not implemented.
490491
@# TestParseAndBytesRoundTrip/P256/Generic: relies on t.Skip() which is not implemented
491-
$(TINYGO) test $(TEST_SKIP_FLAG) $(TEST_PACKAGES_HOST) $(TEST_PACKAGES_SLOW)
492+
$(TINYGO) test $(TEST_ADDITIONAL_FLAGS) $(TEST_SKIP_FLAG) $(TEST_PACKAGES_HOST) $(TEST_PACKAGES_SLOW)
492493
@# io/fs requires os.ReadDir, not yet supported on windows or wasi. It also
493494
@# requires a large stack-size. Hence, io/fs is only run conditionally.
494495
@# For more details, see the comments on issue #3143.

0 commit comments

Comments
 (0)