@@ -8,6 +8,8 @@ set -eu -o pipefail
8
8
: " ${HTTPS_PROXY=} "
9
9
: " ${NO_PROXY=} "
10
10
11
+ : " ${TEST_IMAGE_BUILD=1} "
12
+ : " ${TEST_IMAGE_ID=buildkit-tests} "
11
13
: " ${TEST_INTEGRATION=} "
12
14
: " ${TEST_GATEWAY=} "
13
15
: " ${TEST_DOCKERFILE=} "
@@ -57,9 +59,6 @@ while test $# -gt 0; do
57
59
shift
58
60
done
59
61
60
- iid=" buildkit-tests"
61
- iidfile=$( mktemp -t docker-iidfile.XXXXXXXXXX)
62
-
63
62
testReportsDir=" $( pwd) /bin/testreports"
64
63
mkdir -p " $testReportsDir "
65
64
testReportsVol=" -v $testReportsDir :/testreports"
@@ -76,18 +75,20 @@ if [[ "$GOBUILDFLAGS" == *"-race"* ]]; then
76
75
export VERIFYFLAGS=" " # prevent -static verification
77
76
fi
78
77
79
- buildxCmd build $cacheFromFlags \
80
- --build-arg GO_VERSION \
81
- --build-arg BUILDKITD_TAGS \
82
- --build-arg HTTP_PROXY \
83
- --build-arg HTTPS_PROXY \
84
- --build-arg NO_PROXY \
85
- --build-arg GOBUILDFLAGS \
86
- --build-arg VERIFYFLAGS \
87
- --build-arg CGO_ENABLED \
88
- --target " integration-tests" \
89
- --output " type=docker,name=$iid " \
90
- $currentcontext
78
+ if [ " $TEST_IMAGE_BUILD " = " 1" ]; then
79
+ buildxCmd build $cacheFromFlags \
80
+ --build-arg GO_VERSION \
81
+ --build-arg BUILDKITD_TAGS \
82
+ --build-arg HTTP_PROXY \
83
+ --build-arg HTTPS_PROXY \
84
+ --build-arg NO_PROXY \
85
+ --build-arg GOBUILDFLAGS \
86
+ --build-arg VERIFYFLAGS \
87
+ --build-arg CGO_ENABLED \
88
+ --target " integration-tests" \
89
+ --output " type=docker,name=$TEST_IMAGE_ID " \
90
+ $currentcontext
91
+ fi
91
92
92
93
cacheVolume=" buildkit-test-cache"
93
94
if ! docker container inspect " $cacheVolume " > /dev/null 2> /dev/null; then
@@ -98,7 +99,7 @@ if [ "$TEST_KEEP_CACHE" != "1" ]; then
98
99
fi
99
100
100
101
if [ " $TEST_INTEGRATION " == 1 ]; then
101
- cid=$( docker create --rm -v /tmp $testReportsVol --volumes-from=$cacheVolume -e CGO_ENABLED -e GITHUB_REF -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e TEST_DOCKERD -e SKIP_INTEGRATION_TESTS -e BUILDKIT_TEST_ENABLE_FEATURES -e BUILDKIT_TEST_DISABLE_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} )
102
+ cid=$( docker create --rm -v /tmp $testReportsVol --volumes-from=$cacheVolume -e CGO_ENABLED -e GITHUB_REF -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e TEST_DOCKERD -e SKIP_INTEGRATION_TESTS -e BUILDKIT_TEST_ENABLE_FEATURES -e BUILDKIT_TEST_DISABLE_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 $TEST_IMAGE_ID gotestsum $gotestsumArgs --packages=" ${TESTPKGS:- ./ ...} " -- $gotestArgs ${TESTFLAGS:- -v} )
102
103
if [ " $TEST_DOCKERD " = " 1" ]; then
103
104
docker cp " $TEST_DOCKERD_BINARY " $cid :/usr/bin/dockerd
104
105
fi
107
108
108
109
if [ " $TEST_GATEWAY " == 1 ]; then
109
110
# Build-test "github.com/moby/buildkit/frontend/gateway/client", which isn't otherwise built by CI
110
- # It really only needs buildkit-base. We have integration-tests in $iid , which is a direct child of buildkit-base.
111
- cid=$( docker create --rm --volumes-from=$cacheVolume --entrypoint=" " $iid go build -v ./frontend/gateway/client)
111
+ # It really only needs buildkit-base. We have integration-tests in $TEST_IMAGE_ID , which is a direct child of buildkit-base.
112
+ cid=$( docker create --rm --volumes-from=$cacheVolume --entrypoint=" " $TEST_IMAGE_ID go build -v ./frontend/gateway/client)
112
113
docker start -a $cid
113
114
fi
114
115
@@ -138,8 +139,7 @@ if [ "$TEST_DOCKERFILE" == 1 ]; then
138
139
139
140
if [ -s $tarout ]; then
140
141
if [ " $release " = " mainline" ] || [ " $release " = " labs" ] || [ -n " $DOCKERFILE_RELEASES_CUSTOM " ] || [ " $GITHUB_ACTIONS " = " true" ]; then
141
- cid=$( docker create -v /tmp $testReportsVol --rm --privileged --volumes-from=$cacheVolume -e CGO_ENABLED -e GITHUB_REF -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e TEST_DOCKERD -e BUILDKIT_TEST_ENABLE_FEATURES -e BUILDKIT_TEST_DISABLE_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} )
142
- docker cp $tarout $cid :/$release .tar
142
+ cid=$( docker create -v /tmp $testReportsVol --rm --privileged --volumes-from=$cacheVolume -e CGO_ENABLED -e GITHUB_REF -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e TEST_DOCKERD -e BUILDKIT_TEST_ENABLE_FEATURES -e BUILDKIT_TEST_DISABLE_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 $TEST_IMAGE_ID gotestsum $gotestsumArgs --packages=./frontend/dockerfile -- $gotestArgs --count=1 -tags " $buildtags " ${TESTFLAGS:- -v} )
143
143
if [ " $TEST_DOCKERD " = " 1" ]; then
144
144
docker cp " $TEST_DOCKERD_BINARY " $cid :/usr/bin/dockerd
145
145
fi
0 commit comments