Skip to content

Commit 3b40ce0

Browse files
GODRIVER-3493 Test why codeql is breaking
1 parent 9815ee9 commit 3b40ce0

File tree

4 files changed

+57
-61
lines changed

4 files changed

+57
-61
lines changed

.evergreen/config.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1426,8 +1426,10 @@ tasks:
14261426
commands:
14271427
- command: subprocess.exec
14281428
params:
1429-
args: [*task-runner, build-compile-check]
14301429
binary: bash
1430+
env:
1431+
GO_VERSION: "1.18"
1432+
args: [*task-runner, build-compile-check]
14311433

14321434
# Build with the same Go version that we're using for tests.
14331435
- name: build
@@ -2120,7 +2122,6 @@ buildvariants:
21202122
tags: ["pullrequest"]
21212123
display_name: "Compile Only Checks"
21222124
run_on:
2123-
#- ubuntu2204-small
21242125
- rhel8.7-small
21252126
expansions:
21262127
GO_DIST: "/opt/golang/go1.22"

Taskfile.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# See https://taskfile.dev/usage/
1+
# See https://taskfile.dev/usage/
22
version: '3'
33

44
env:
@@ -28,11 +28,7 @@ tasks:
2828

2929
build-tests: go test -short ${BUILD_TAGS} -run ^$$ ./...
3030

31-
# Compile check for all versions >= the minimum supported version.
32-
build-compile-check: bash etc/run-compile-check-test.sh
33-
34-
# Compile check for the minimum supported version (msv).
35-
build-compile-check-msv: bash etc/run-compile-check-test.sh TestCompileCheck/golang:1.18
31+
build-compile-check: bash etc/compile_check.sh
3632

3733
build-aws-ecs-test: go build ${BUILD_TAGS} ./internal/cmd/testaws/main.go
3834

etc/compile_check.sh

Lines changed: 52 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,56 @@
22
set -e # exit when any command fails
33
set -x # show all commands being run
44

5-
#GC=go
6-
#COMPILE_CHECK_DIR="internal/cmd/compilecheck"
7-
#ARCHITECTURES=("386" "arm" "arm64" "ppc64le" "s390x")
8-
#BUILD_CMD="${GC} build -buildvcs=false"
5+
# Default to Go 1.18 if GO_VERSION is not set.
96
#
10-
## Compilation modules are not part of the workspace as testcontainers requires
11-
## a version of klauspost/compress not supported by the Go Driver / other modules
12-
## in the workspace.
13-
#export GOWORK=off
14-
#
15-
## compile_check will attempt to build the internal/test/compilecheck project
16-
## using the provided Go version. This is to simulate an end-to-end use case.
17-
#function compile_check {
18-
# # Change the directory to the compilecheck test directory.
19-
# pushd "${COMPILE_CHECK_DIR}" >/dev/null
20-
#
21-
# ${GC} version
22-
# ${GC} mod tidy
23-
#
24-
# # Standard build
25-
# $BUILD_CMD ./...
26-
#
27-
# # Dynamic linking
28-
# $BUILD_CMD -buildmode=plugin
29-
#
30-
# # Check build with tags.
31-
# [[ -n "$BUILD_TAGS" ]] && $BUILD_CMD $BUILD_TAGS ./...
32-
#
33-
# # Check build with various architectures.
34-
# for ARCH in "${ARCHITECTURES[@]}"; do
35-
# GOOS=linux GOARCH=$ARCH $BUILD_CMD ./...
36-
# done
37-
#
38-
# # Change the directory back to the working directory.
39-
# popd >/dev/null
40-
#}
41-
#
42-
#compile_check
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

etc/run-compile-check-test.sh

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)