@@ -13,6 +13,7 @@ set -eu -o pipefail
1313: ${TEST_DOCKERD_BINARY=$(which dockerd)}
1414: ${TEST_REPORT_SUFFIX=}
1515: ${TEST_KEEP_CACHE=}
16+ : ${GO_RACE_ENABLED=}
1617: ${DOCKERFILE_RELEASES=}
1718: ${BUILDKIT_WORKER_RANDOM=}
1819: ${BUILDKITD_TAGS=}
@@ -65,6 +66,7 @@ buildxCmd build $cacheFromFlags \
6566 --build-arg HTTP_PROXY \
6667 --build-arg HTTPS_PROXY \
6768 --build-arg NO_PROXY \
69+ --build-arg GO_RACE_ENABLED \
6870 --target " integration-tests" \
6971 --output " type=docker,name=$iid " \
7072 $currentcontext
@@ -74,8 +76,13 @@ if ! docker container inspect "$cacheVolume" >/dev/null 2>/dev/null; then
7476 docker create -v /root/.cache -v /root/.cache/registry -v /go/pkg/mod --name " $cacheVolume " alpine
7577fi
7678
79+ if [ " $GO_RACE_ENABLED " = " 1" ]; then
80+ # force buildkitd to half on detected race conditions, which will cause the tests to fail
81+ export GORACE=" halt_on_error=1"
82+ fi
83+
7784if [ " $TEST_INTEGRATION " == 1 ]; then
78- cid=$( docker create --rm -v /tmp $testReportsVol --volumes-from=$cacheVolume -e GITHUB_REF -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e TEST_DOCKERD -e SKIP_INTEGRATION_TESTS -e BUILDKIT_TEST_ENABLE_FEATURES -e GOTESTSUM_FORMAT ${BUILDKIT_INTEGRATION_SNAPSHOTTER: +" -eBUILDKIT_INTEGRATION_SNAPSHOTTER" } -e BUILDKIT_REGISTRY_MIRROR_DIR=/root/.cache/registry -e BUILDKIT_INTEGRATION_DOCKERD_FLAGS --privileged $iid gotestsum $gotestsumArgs --packages=" ${TESTPKGS:- ./ ...} " -- $gotestArgs ${TESTFLAGS:- -v} )
85+ cid=$( docker create --rm -v /tmp $testReportsVol --volumes-from=$cacheVolume -e GITHUB_REF -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e TEST_DOCKERD -e SKIP_INTEGRATION_TESTS -e BUILDKIT_TEST_ENABLE_FEATURES -e GOTESTSUM_FORMAT ${BUILDKIT_INTEGRATION_SNAPSHOTTER: +" -eBUILDKIT_INTEGRATION_SNAPSHOTTER" } -e BUILDKIT_REGISTRY_MIRROR_DIR=/root/.cache/registry -e BUILDKIT_INTEGRATION_DOCKERD_FLAGS -e GORACE - -privileged $iid gotestsum $gotestsumArgs --packages=" ${TESTPKGS:- ./ ...} " -- $gotestArgs ${TESTFLAGS:- -v} )
7986 if [ " $TEST_DOCKERD " = " 1" ]; then
8087 docker cp " $TEST_DOCKERD_BINARY " $cid :/usr/bin/dockerd
8188 fi
@@ -115,7 +122,7 @@ if [ "$TEST_DOCKERFILE" == 1 ]; then
115122
116123 if [ -s $tarout ]; then
117124 if [ " $release " = " mainline" ] || [ " $release " = " labs" ] || [ -n " $DOCKERFILE_RELEASES_CUSTOM " ] || [ " $GITHUB_ACTIONS " = " true" ]; then
118- cid=$( docker create -v /tmp $testReportsVol --rm --privileged --volumes-from=$cacheVolume -e GITHUB_REF -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e TEST_DOCKERD -e BUILDKIT_TEST_ENABLE_FEATURES -e GOTESTSUM_FORMAT -e BUILDKIT_REGISTRY_MIRROR_DIR=/root/.cache/registry -e BUILDKIT_WORKER_RANDOM -e BUILDKIT_INTEGRATION_DOCKERD_FLAGS -e FRONTEND_GATEWAY_ONLY=local:/$release .tar -e EXTERNAL_DF_FRONTEND=/dockerfile-frontend $iid gotestsum $gotestsumArgs --packages=./frontend/dockerfile -- $gotestArgs --count=1 -tags " $buildtags " ${TESTFLAGS:- -v} )
125+ cid=$( docker create -v /tmp $testReportsVol --rm --privileged --volumes-from=$cacheVolume -e GITHUB_REF -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e TEST_DOCKERD -e BUILDKIT_TEST_ENABLE_FEATURES -e GOTESTSUM_FORMAT -e BUILDKIT_REGISTRY_MIRROR_DIR=/root/.cache/registry -e BUILDKIT_WORKER_RANDOM -e BUILDKIT_INTEGRATION_DOCKERD_FLAGS -e FRONTEND_GATEWAY_ONLY=local:/$release .tar -e EXTERNAL_DF_FRONTEND=/dockerfile-frontend -e GORACE $iid gotestsum $gotestsumArgs --packages=./frontend/dockerfile -- $gotestArgs --count=1 -tags " $buildtags " ${TESTFLAGS:- -v} )
119126 docker cp $tarout $cid :/$release .tar
120127 if [ " $TEST_DOCKERD " = " 1" ]; then
121128 docker cp " $TEST_DOCKERD_BINARY " $cid :/usr/bin/dockerd
0 commit comments