|
1 | 1 | #!/usr/bin/env bash |
2 | 2 | set -e # exit when any command fails |
3 | 3 | set -x # show all commands being run |
4 | | -# |
5 | | -## Default to Go 1.18 if GO_VERSION is not set. |
6 | | -## |
7 | | -## Use the "=" operator (instead of the more common ":-" operator) so that it |
8 | | -## allows setting GO_VERSION="" to use the Go installation in the PATH, and it |
9 | | -## sets the GO_VERSION variable if the default is used. |
10 | | -#GC=go${GO_VERSION="1.18"} |
11 | | -#COMPILE_CHECK_DIR="internal/cmd/compilecheck" |
12 | | -# |
13 | | -## compile_check will attempt to build the internal/test/compilecheck project |
14 | | -## using the provided Go version. This is to simulate an end-to-end use case. |
15 | | -#function compile_check { |
16 | | -# # Change the directory to the compilecheck test directory. |
17 | | -# pushd ${COMPILE_CHECK_DIR} |
18 | | -# |
19 | | -# # If a custom Go version is set using the GO_VERSION env var (e.g. "1.18"), |
20 | | -# # add the GOPATH bin directory to PATH and then install that Go version. |
21 | | -# if [ ! -z "$GO_VERSION" ]; then |
22 | | -# PATH=$(go env GOPATH)/bin:$PATH |
23 | | -# export PATH |
24 | | -# |
25 | | -# go install golang.org/dl/go$GO_VERSION@latest |
26 | | -# ${GC} download |
27 | | -# fi |
28 | | -# |
29 | | -# ${GC} version |
30 | | -# ${GC} mod tidy |
31 | | -# |
32 | | -# # Check simple build. |
33 | | -# ${GC} build ./... |
34 | | -# |
35 | | -# # Check build with dynamic linking. |
36 | | -# ${GC} build -buildmode=plugin |
37 | | -# |
38 | | -# # Check build with tags. |
39 | | -# ${GC} build $BUILD_TAGS ./... |
40 | | -# |
41 | | -# # Check build with various architectures. |
42 | | -# GOOS=linux GOARCH=386 ${GC} build ./... |
43 | | -# GOOS=linux GOARCH=arm ${GC} build ./... |
44 | | -# GOOS=linux GOARCH=arm64 ${GC} build ./... |
45 | | -# GOOS=linux GOARCH=amd64 ${GC} build ./... |
46 | | -# GOOS=linux GOARCH=ppc64le ${GC} build ./... |
47 | | -# GOOS=linux GOARCH=s390x ${GC} build ./... |
48 | | -# |
49 | | -# # Remove the binaries. |
50 | | -# rm compilecheck |
51 | | -# rm compilecheck.so |
52 | | -# |
53 | | -# # Change the directory back to the working directory. |
54 | | -# popd |
55 | | -#} |
56 | | -# |
57 | | -#compile_check |
58 | | -##!/usr/bin/env bash |
59 | | -#set -e # exit when any command fails |
60 | | -#set -x # show all commands being run |
61 | | -# |
62 | | -#GC=go |
63 | | -#COMPILE_CHECK_DIR="internal/cmd/compilecheck" |
64 | | -#ARCHITECTURES=("386" "arm" "arm64" "ppc64le" "s390x") |
65 | | -#BUILD_CMD="${GC} build -buildvcs=false" |
66 | | -# |
67 | | -## Compilation modules are not part of the workspace as testcontainers requires |
68 | | -## a version of klauspost/compress not supported by the Go Driver / other modules |
69 | | -## in the workspace. |
70 | | -#export GOWORK=off |
71 | | -# |
72 | | -## compile_check will attempt to build the internal/test/compilecheck project |
73 | | -## using the provided Go version. This is to simulate an end-to-end use case. |
74 | | -#function compile_check { |
75 | | -# # Change the directory to the compilecheck test directory. |
76 | | -# pushd "${COMPILE_CHECK_DIR}" >/dev/null |
77 | | -# |
78 | | -# ${GC} version |
79 | | -# ${GC} mod tidy |
80 | | -# |
81 | | -# # Standard build |
82 | | -# $BUILD_CMD ./... |
83 | | -# |
84 | | -# # Dynamic linking |
85 | | -# $BUILD_CMD -buildmode=plugin |
86 | | -# |
87 | | -# # Check build with tags. |
88 | | -# [[ -n "$BUILD_TAGS" ]] && $BUILD_CMD $BUILD_TAGS ./... |
89 | | -# |
90 | | -# # Check build with various architectures. |
91 | | -# for ARCH in "${ARCHITECTURES[@]}"; do |
92 | | -# GOOS=linux GOARCH=$ARCH $BUILD_CMD ./... |
93 | | -# done |
94 | | -# |
95 | | -# # Change the directory back to the working directory. |
96 | | -# popd >/dev/null |
97 | | -#} |
98 | | -# |
99 | | -#compile_check |
| 4 | + |
| 5 | +# Default to Go 1.18 if GO_VERSION is not set. |
| 6 | +# |
| 7 | +# Use the "=" operator (instead of the more common ":-" operator) so that it |
| 8 | +# allows setting GO_VERSION="" to use the Go installation in the PATH, and it |
| 9 | +# sets the GO_VERSION variable if the default is used. |
| 10 | +GC=go${GO_VERSION="1.18"} |
| 11 | +COMPILE_CHECK_DIR="internal/cmd/compilecheck" |
| 12 | + |
| 13 | +# compile_check will attempt to build the internal/test/compilecheck project |
| 14 | +# using the provided Go version. This is to simulate an end-to-end use case. |
| 15 | +function compile_check { |
| 16 | + # Change the directory to the compilecheck test directory. |
| 17 | + pushd ${COMPILE_CHECK_DIR} |
| 18 | + |
| 19 | + # If a custom Go version is set using the GO_VERSION env var (e.g. "1.18"), |
| 20 | + # add the GOPATH bin directory to PATH and then install that Go version. |
| 21 | + if [ ! -z "$GO_VERSION" ]; then |
| 22 | + PATH=$(go env GOPATH)/bin:$PATH |
| 23 | + export PATH |
| 24 | + |
| 25 | + go install golang.org/dl/go$GO_VERSION@latest |
| 26 | + ${GC} download |
| 27 | + fi |
| 28 | + |
| 29 | + ${GC} version |
| 30 | + ${GC} mod tidy |
| 31 | + |
| 32 | + # Check simple build. |
| 33 | + ${GC} build ./... |
| 34 | + |
| 35 | + # Check build with dynamic linking. |
| 36 | + ${GC} build -buildmode=plugin |
| 37 | + |
| 38 | + # Check build with tags. |
| 39 | + ${GC} build $BUILD_TAGS ./... |
| 40 | + |
| 41 | + # Check build with various architectures. |
| 42 | + GOOS=linux GOARCH=386 ${GC} build ./... |
| 43 | + GOOS=linux GOARCH=arm ${GC} build ./... |
| 44 | + GOOS=linux GOARCH=arm64 ${GC} build ./... |
| 45 | + GOOS=linux GOARCH=amd64 ${GC} build ./... |
| 46 | + GOOS=linux GOARCH=ppc64le ${GC} build ./... |
| 47 | + GOOS=linux GOARCH=s390x ${GC} build ./... |
| 48 | + |
| 49 | + # Remove the binaries. |
| 50 | + rm compilecheck |
| 51 | + rm compilecheck.so |
| 52 | + |
| 53 | + # Change the directory back to the working directory. |
| 54 | + popd |
| 55 | +} |
| 56 | + |
| 57 | +compile_check |
0 commit comments