@@ -15,14 +15,15 @@ set -eu -o pipefail
1515
1616: " ${TEST_COVERAGE=} "
1717: " ${TEST_IMAGE_BUILD=1} "
18- : " ${TEST_IMAGE_ID =buildkit-tests} "
18+ : " ${TEST_IMAGE_NAME =buildkit-tests} "
1919: " ${TEST_INTEGRATION=} "
2020: " ${TEST_GATEWAY=} "
2121: " ${TEST_DOCKERFILE=} "
2222: " ${TEST_DOCKERD=} "
2323: " ${TEST_DOCKERD_BINARY=$(which dockerd)} "
2424: " ${TEST_REPORT_SUFFIX=} "
2525: " ${TEST_KEEP_CACHE=} "
26+ : " ${TEST_SUITE_CONTEXT=} "
2627: " ${TESTFLAGS=} "
2728
2829: " ${DOCKERFILE_RELEASES=} "
@@ -87,20 +88,15 @@ if [ "$TEST_COVERAGE" == "1" ]; then
8788 export GO_TEST_COVERPROFILE=" /testreports/coverage-report$TEST_REPORT_SUFFIX .txt"
8889fi
8990
91+ if [ -n " $TEST_SUITE_CONTEXT " ]; then
92+ export TEST_BINARIES_CONTEXT=$currentcontext
93+ # FIXME: something breaks with the syntax when using the context
94+ export BUILDKIT_SYNTAX=" docker/dockerfile:1.10.0"
95+ currentcontext=$TEST_SUITE_CONTEXT
96+ fi
97+
9098if [ " $TEST_IMAGE_BUILD " = " 1" ]; then
91- buildxCmd build $cacheFromFlags \
92- --build-arg ALPINE_VERSION \
93- --build-arg GO_VERSION \
94- --build-arg BUILDKITD_TAGS \
95- --build-arg HTTP_PROXY \
96- --build-arg HTTPS_PROXY \
97- --build-arg NO_PROXY \
98- --build-arg GOBUILDFLAGS \
99- --build-arg VERIFYFLAGS \
100- --build-arg CGO_ENABLED \
101- --target " integration-tests" \
102- --output " type=docker,name=$TEST_IMAGE_ID " \
103- $currentcontext
99+ TEST_CONTEXT=$currentcontext buildxCmd bake integration-tests
104100fi
105101
106102cacheVolume=" buildkit-test-cache"
@@ -131,7 +127,7 @@ if [ "$TEST_INTEGRATION" == 1 ]; then
131127 cid=$( dockerCmd create $baseCreateFlags \
132128 ${BUILDKIT_INTEGRATION_SNAPSHOTTER: +" -eBUILDKIT_INTEGRATION_SNAPSHOTTER" } \
133129 -e SKIP_INTEGRATION_TESTS \
134- $TEST_IMAGE_ID \
130+ $TEST_IMAGE_NAME \
135131 gotestsumandcover $gotestsumArgs --packages=" ${TESTPKGS:- ./ ...} " -- $gotestArgs ${TESTFLAGS:- -v} )
136132 if [ " $TEST_DOCKERD " = " 1" ]; then
137133 dockerCmd cp " $TEST_DOCKERD_BINARY " $cid :/usr/bin/dockerd
141137
142138if [ " $TEST_GATEWAY " == 1 ]; then
143139 # Build-test "github.com/moby/buildkit/frontend/gateway/client", which isn't otherwise built by CI
144- # It really only needs buildkit-base. We have integration-tests in $TEST_IMAGE_ID , which is a direct child of buildkit-base.
145- cid=$( dockerCmd create --rm --volumes-from=$cacheVolume --entrypoint=" " $TEST_IMAGE_ID go build -v ./frontend/gateway/client)
140+ # It really only needs buildkit-base. We have integration-tests in $TEST_IMAGE_NAME , which is a direct child of buildkit-base.
141+ cid=$( dockerCmd create --rm --volumes-from=$cacheVolume --entrypoint=" " $TEST_IMAGE_NAME go build -v ./frontend/gateway/client)
146142 dockerCmd start -a $cid
147143fi
148144
@@ -165,7 +161,7 @@ if [ "$TEST_DOCKERFILE" == 1 ]; then
165161 tarout=$( mktemp -t dockerfile-frontend.XXXXXXXXXX)
166162
167163 buildxCmd build $cacheFromFlags \
168- --build-arg " BUILDTAGS=$buildtags " \
164+ --build-arg " BUILDTAGS=$buildtags " --build-arg " BUILDKIT_CONTEXT_KEEP_GIT_DIR=1 " \
169165 --file " ./frontend/dockerfile/cmd/dockerfile-frontend/Dockerfile" \
170166 --output " type=oci,dest=$tarout " \
171167 $currentcontext
@@ -176,7 +172,7 @@ if [ "$TEST_DOCKERFILE" == 1 ]; then
176172 -e BUILDKIT_WORKER_RANDOM \
177173 -e FRONTEND_GATEWAY_ONLY=local:/$release .tar \
178174 -e EXTERNAL_DF_FRONTEND=/dockerfile-frontend \
179- $TEST_IMAGE_ID \
175+ $TEST_IMAGE_NAME \
180176 gotestsumandcover $gotestsumArgs --packages=./frontend/dockerfile -- $gotestArgs --count=1 -tags " $buildtags " ${TESTFLAGS:- -v} )
181177 dockerCmd cp $tarout $cid :/$release .tar
182178 if [ " $TEST_DOCKERD " = " 1" ]; then
0 commit comments