@@ -13,6 +13,7 @@ set -eu -o pipefail
13
13
: ${TEST_DOCKERD_BINARY=$(which dockerd)}
14
14
: ${TEST_REPORT_SUFFIX=}
15
15
: ${TEST_KEEP_CACHE=}
16
+ : ${GO_RACE_ENABLED=}
16
17
: ${DOCKERFILE_RELEASES=}
17
18
: ${BUILDKIT_WORKER_RANDOM=}
18
19
: ${BUILDKITD_TAGS=}
@@ -65,6 +66,7 @@ buildxCmd build $cacheFromFlags \
65
66
--build-arg HTTP_PROXY \
66
67
--build-arg HTTPS_PROXY \
67
68
--build-arg NO_PROXY \
69
+ --build-arg GO_RACE_ENABLED \
68
70
--target " integration-tests" \
69
71
--output " type=docker,name=$iid " \
70
72
$currentcontext
@@ -74,8 +76,13 @@ if ! docker container inspect "$cacheVolume" >/dev/null 2>/dev/null; then
74
76
docker create -v /root/.cache -v /root/.cache/registry -v /go/pkg/mod --name " $cacheVolume " alpine
75
77
fi
76
78
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
+
77
84
if [ " $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} )
79
86
if [ " $TEST_DOCKERD " = " 1" ]; then
80
87
docker cp " $TEST_DOCKERD_BINARY " $cid :/usr/bin/dockerd
81
88
fi
@@ -115,7 +122,7 @@ if [ "$TEST_DOCKERFILE" == 1 ]; then
115
122
116
123
if [ -s $tarout ]; then
117
124
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} )
119
126
docker cp $tarout $cid :/$release .tar
120
127
if [ " $TEST_DOCKERD " = " 1" ]; then
121
128
docker cp " $TEST_DOCKERD_BINARY " $cid :/usr/bin/dockerd
0 commit comments