Skip to content

Commit a350ea5

Browse files
prestonvasquezqingyang-hu
authored andcommitted
GODRIVER-2792 Migrate CI to RHEL 8.7 (#1362)
1 parent 80e2941 commit a350ea5

File tree

3 files changed

+175
-74
lines changed

3 files changed

+175
-74
lines changed

.evergreen/config.yml

Lines changed: 47 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ functions:
141141
export UPLOAD_BUCKET="$UPLOAD_BUCKET"
142142
export PROJECT="$PROJECT"
143143
export TMPDIR="$MONGO_ORCHESTRATION_HOME/db"
144-
export PKG_CONFIG_PATH=$(pwd)/install/libmongocrypt/lib/pkgconfig:$(pwd)/install/mongo-c-driver/lib/pkgconfig
145-
export LD_LIBRARY_PATH=$(pwd)/install/libmongocrypt/lib
144+
export PKG_CONFIG_PATH=$(pwd)/install/libmongocrypt/lib64/pkgconfig:$(pwd)/install/mongo-c-driver/lib/pkgconfig
145+
export LD_LIBRARY_PATH=$(pwd)/install/libmongocrypt/lib64
146146
export PATH="$PATH"
147147
EOT
148148
# See what we variables we've set.
@@ -245,6 +245,7 @@ functions:
245245
params:
246246
shell: "bash"
247247
script: |
248+
set -x
248249
${PREPARE_SHELL}
249250
250251
MONGODB_VERSION=${VERSION} \
@@ -2082,7 +2083,7 @@ tasks:
20822083
export GCPKMS_PROJECT=${GCPKMS_PROJECT}
20832084
export GCPKMS_ZONE=${GCPKMS_ZONE}
20842085
export GCPKMS_INSTANCENAME=${GCPKMS_INSTANCENAME}
2085-
tar czf testgcpkms.tgz ./testkms ./install/libmongocrypt/lib/libmongocrypt.*
2086+
tar czf testgcpkms.tgz ./testkms ./install/libmongocrypt/lib64/libmongocrypt.*
20862087
GCPKMS_SRC=testgcpkms.tgz GCPKMS_DST=$GCPKMS_INSTANCENAME: $DRIVERS_TOOLS/.evergreen/csfle/gcpkms/copy-file.sh
20872088
echo "Copying files ... end"
20882089
@@ -2101,7 +2102,7 @@ tasks:
21012102
export GCPKMS_PROJECT=${GCPKMS_PROJECT}
21022103
export GCPKMS_ZONE=${GCPKMS_ZONE}
21032104
export GCPKMS_INSTANCENAME=${GCPKMS_INSTANCENAME}
2104-
GCPKMS_CMD="LD_LIBRARY_PATH=./install/libmongocrypt/lib MONGODB_URI='mongodb://localhost:27017' PROVIDER='gcp' ./testkms" $DRIVERS_TOOLS/.evergreen/csfle/gcpkms/run-command.sh
2105+
GCPKMS_CMD="LD_LIBRARY_PATH=./install/libmongocrypt/lib64 MONGODB_URI='mongodb://localhost:27017' PROVIDER='gcp' ./testkms" $DRIVERS_TOOLS/.evergreen/csfle/gcpkms/run-command.sh
21052106
21062107
- name: "testgcpkms-fail-task"
21072108
# testgcpkms-fail-task runs in a non-GCE environment.
@@ -2119,7 +2120,7 @@ tasks:
21192120
PKG_CONFIG_PATH=$PKG_CONFIG_PATH \
21202121
make build-kms-test
21212122
echo "Building build-kms-test ... end"
2122-
LD_LIBRARY_PATH=./install/libmongocrypt/lib \
2123+
LD_LIBRARY_PATH=./install/libmongocrypt/lib64 \
21232124
MONGODB_URI='mongodb://localhost:27017/' \
21242125
EXPECT_ERROR='unable to retrieve GCP credentials' \
21252126
PROVIDER='gcp' \
@@ -2143,7 +2144,7 @@ tasks:
21432144
export AWS_ACCESS_KEY_ID="${cse_aws_access_key_id}"
21442145
export AWS_SECRET_ACCESS_KEY="${cse_aws_secret_access_key}"
21452146
2146-
LD_LIBRARY_PATH=./install/libmongocrypt/lib \
2147+
LD_LIBRARY_PATH=./install/libmongocrypt/lib64 \
21472148
MONGODB_URI='${atlas_free_tier_uri}' \
21482149
PROVIDER='aws' \
21492150
./testkms
@@ -2165,9 +2166,9 @@ tasks:
21652166
make build-kms-test
21662167
echo "Building build-kms-test ... end"
21672168
2168-
LD_LIBRARY_PATH=./install/libmongocrypt/lib \
2169+
LD_LIBRARY_PATH=./install/libmongocrypt/lib64 \
21692170
MONGODB_URI='${atlas_free_tier_uri}' \
2170-
EXPECT_ERROR='unable to retrieve aws credentials' \
2171+
EXPECT_ERROR='status=400' \
21712172
PROVIDER='aws' \
21722173
./testkms
21732174
@@ -2191,7 +2192,7 @@ tasks:
21912192
export AZUREKMS_VMNAME=${AZUREKMS_VMNAME}
21922193
echo '${testazurekms_privatekey}' > /tmp/testazurekms.prikey
21932194
export AZUREKMS_PRIVATEKEYPATH=/tmp/testazurekms.prikey
2194-
tar czf testazurekms.tgz ./testkms ./install/libmongocrypt/lib/libmongocrypt.*
2195+
tar czf testazurekms.tgz ./testkms ./install/libmongocrypt/lib64/libmongocrypt.*
21952196
AZUREKMS_SRC=testazurekms.tgz AZUREKMS_DST=/tmp $DRIVERS_TOOLS/.evergreen/csfle/azurekms/copy-file.sh
21962197
echo "Copying files ... end"
21972198
echo "Untarring file ... begin"
@@ -2209,7 +2210,7 @@ tasks:
22092210
export AZUREKMS_VMNAME=${AZUREKMS_VMNAME}
22102211
echo '${testazurekms_privatekey}' > /tmp/testazurekms.prikey
22112212
export AZUREKMS_PRIVATEKEYPATH=/tmp/testazurekms.prikey
2212-
AZUREKMS_CMD="LD_LIBRARY_PATH=./install/libmongocrypt/lib MONGODB_URI='mongodb://localhost:27017' PROVIDER='azure' AZUREKMS_KEY_NAME='${AZUREKMS_KEY_NAME}' AZUREKMS_KEY_VAULT_ENDPOINT='${AZUREKMS_KEY_VAULT_ENDPOINT}' ./testkms" $DRIVERS_TOOLS/.evergreen/csfle/azurekms/run-command.sh
2213+
AZUREKMS_CMD="LD_LIBRARY_PATH=./install/libmongocrypt/lib64 MONGODB_URI='mongodb://localhost:27017' PROVIDER='azure' AZUREKMS_KEY_NAME='${AZUREKMS_KEY_NAME}' AZUREKMS_KEY_VAULT_ENDPOINT='${AZUREKMS_KEY_VAULT_ENDPOINT}' ./testkms" $DRIVERS_TOOLS/.evergreen/csfle/azurekms/run-command.sh
22132214
22142215
- name: "testazurekms-fail-task"
22152216
# testazurekms-fail-task runs without environment variables.
@@ -2228,7 +2229,7 @@ tasks:
22282229
make build-kms-test
22292230
echo "Building build-kms-test ... end"
22302231
2231-
LD_LIBRARY_PATH=./install/libmongocrypt/lib \
2232+
LD_LIBRARY_PATH=./install/libmongocrypt/lib64 \
22322233
MONGODB_URI='mongodb://localhost:27017' \
22332234
EXPECT_ERROR='unable to retrieve azure credentials' \
22342235
PROVIDER='azure' AZUREKMS_KEY_NAME='${AZUREKMS_KEY_NAME}' AZUREKMS_KEY_VAULT_ENDPOINT='${AZUREKMS_KEY_VAULT_ENDPOINT}' \
@@ -2311,9 +2312,9 @@ axes:
23112312
GCC_PATH: "/cygdrive/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin"
23122313
GO_DIST: "C:\\golang\\go1.20"
23132314
VENV_BIN_DIR: "Scripts"
2314-
- id: "ubuntu1604-64-go-1-20"
2315-
display_name: "Ubuntu 16.04"
2316-
run_on: ubuntu1604-build
2315+
- id: "rhel87-64-go-1-20"
2316+
display_name: "RHEL 8.7"
2317+
run_on: rhel8.7-large
23172318
variables:
23182319
GO_DIST: "/opt/golang/go1.20"
23192320
- id: "macos11-go-1-20"
@@ -2335,9 +2336,9 @@ axes:
23352336
GCC_PATH: "/cygdrive/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin"
23362337
GO_DIST: "C:\\golang\\go1.20"
23372338
VENV_BIN_DIR: "Scripts"
2338-
- id: "ubuntu1804-64-go-1-20"
2339-
display_name: "Ubuntu 18.04"
2340-
run_on: ubuntu1804-build
2339+
- id: "rhel87-64-go-1-20"
2340+
display_name: "RHEL 8.7"
2341+
run_on: rhel8.7-large
23412342
variables:
23422343
GO_DIST: "/opt/golang/go1.20"
23432344
- id: "macos11-go-1-20"
@@ -2347,13 +2348,12 @@ axes:
23472348
variables:
23482349
GO_DIST: "/opt/golang/go1.20"
23492350

2350-
# OCSP linux tasks need to run against this OS since stapling is disabled on Ubuntu 18.04 (SERVER-51364)
2351-
- id: ocsp-rhel-70
2351+
- id: ocsp-rhel-87
23522352
display_name: OS
23532353
values:
2354-
- id: "rhel70-go-1-20"
2355-
display_name: "RHEL 7.0"
2356-
run_on: rhel70-build
2354+
- id: "rhel87-go-1-20"
2355+
display_name: "RHEL 8.7"
2356+
run_on: rhel8.7-large
23572357
variables:
23582358
GO_DIST: "/opt/golang/go1.20"
23592359

@@ -2368,6 +2368,8 @@ axes:
23682368
GCC_PATH: "/cygdrive/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin"
23692369
GO_DIST: "C:\\golang\\go1.20"
23702370
SKIP_ECS_AUTH_TEST: true
2371+
# TODO(BUILD-17329): Update this to Ubuntu 22 after we add a new ECS task
2372+
# definition.
23712373
- id: "ubuntu1804-64-go-1-20"
23722374
display_name: "Ubuntu 18.04"
23732375
run_on: ubuntu1804-test
@@ -2386,18 +2388,18 @@ axes:
23862388
- id: os-faas-80
23872389
display_name: OS
23882390
values:
2389-
- id: "rhel80-large-go-1-20"
2390-
display_name: "RHEL 8.0"
2391-
run_on: rhel80-large
2391+
- id: "rhel87-large-go-1-20"
2392+
display_name: "RHEL 8.7"
2393+
run_on: rhel8.7-large
23922394
variables:
23932395
GO_DIST: "/opt/golang/go1.20"
23942396

23952397
- id: os-serverless
23962398
display_name: OS
23972399
values:
2398-
- id: "ubuntu2204-go-1-20"
2399-
display_name: "Ubuntu 22.04"
2400-
run_on: ubuntu2204-small
2400+
- id: "rhel87-go-1-20"
2401+
display_name: "RHEL 8.7"
2402+
run_on: rhel8.7-small
24012403
variables:
24022404
GO_DIST: "/opt/golang/go1.20"
24032405

@@ -2620,7 +2622,7 @@ buildvariants:
26202622
- name: static-analysis
26212623
display_name: "Static Analysis"
26222624
run_on:
2623-
- ubuntu1804-build
2625+
- rhel8.7-large
26242626
expansions:
26252627
GO_DIST: "/opt/golang/go1.20"
26262628
tasks:
@@ -2629,7 +2631,7 @@ buildvariants:
26292631
- name: perf
26302632
display_name: "Performance"
26312633
run_on:
2632-
- ubuntu1804-build
2634+
- rhel8.7-large
26332635
expansions:
26342636
GO_DIST: "/opt/golang/go1.20"
26352637
tasks:
@@ -2638,16 +2640,16 @@ buildvariants:
26382640
- name: build-check
26392641
display_name: "Compile Only Checks"
26402642
run_on:
2641-
- ubuntu1804-test
2643+
- rhel8.7-large
26422644
expansions:
26432645
GO_DIST: "/opt/golang/go1.20"
26442646
tasks:
26452647
- name: ".compile-check"
2646-
2648+
26472649
- name: atlas-test
26482650
display_name: "Atlas test"
26492651
run_on:
2650-
- ubuntu1804-build
2652+
- rhel8.7-large
26512653
expansions:
26522654
GO_DIST: "/opt/golang/go1.20"
26532655
tasks:
@@ -2656,7 +2658,7 @@ buildvariants:
26562658
- name: atlas-data-lake-test
26572659
display_name: "Atlas Data Lake Test"
26582660
run_on:
2659-
- ubuntu1804-build
2661+
- rhel8.7-large
26602662
expansions:
26612663
GO_DIST: "/opt/golang/go1.20"
26622664
tasks:
@@ -2693,8 +2695,8 @@ buildvariants:
26932695
- name: "aws-auth-test"
26942696

26952697
- matrix_name: "ocsp-test"
2696-
matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "latest"], ocsp-rhel-70: ["rhel70-go-1-20"] }
2697-
display_name: "OCSP ${version} ${ocsp-rhel-70}"
2698+
matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "latest"], ocsp-rhel-87: ["rhel87-go-1-20"] }
2699+
display_name: "OCSP ${version} ${ocsp-rhel-87}"
26982700
batchtime: 20160 # Use a batchtime of 14 days as suggested by the OCSP test README
26992701
tasks:
27002702
- name: ".ocsp"
@@ -2716,7 +2718,7 @@ buildvariants:
27162718
- name: ".ocsp-rsa !.ocsp-staple"
27172719

27182720
- matrix_name: "race-test"
2719-
matrix_spec: { version: ["latest"], os-ssl-40: ["ubuntu1804-64-go-1-20"] }
2721+
matrix_spec: { version: ["latest"], os-ssl-40: ["rhel87-64-go-1-20"] }
27202722
display_name: "Race Detector Test"
27212723
tasks:
27222724
- name: ".race"
@@ -2728,14 +2730,13 @@ buildvariants:
27282730
- name: ".versioned-api"
27292731

27302732
- matrix_name: "kms-tls-test"
2731-
matrix_spec: { version: ["latest"], os-ssl-40: ["ubuntu1804-64-go-1-20"] }
2733+
matrix_spec: { version: ["latest"], os-ssl-40: ["rhel87-64-go-1-20"] }
27322734
display_name: "KMS TLS ${os-ssl-40}"
27332735
tasks:
27342736
- name: ".kms-tls"
27352737

27362738
- matrix_name: "load-balancer-test"
2737-
# The LB software is only available on Ubuntu 18.04, so we don't test on all OSes.
2738-
matrix_spec: { version: ["5.0", "6.0", "7.0", "latest", "rapid"], os-ssl-40: ["ubuntu1804-64-go-1-20"] }
2739+
matrix_spec: { version: ["5.0", "6.0", "7.0", "latest", "rapid"], os-ssl-40: ["rhel87-64-go-1-20"] }
27392740
display_name: "Load Balancer Support ${version} ${os-ssl-40}"
27402741
tasks:
27412742
- name: ".load-balancer"
@@ -2747,28 +2748,28 @@ buildvariants:
27472748
- "serverless_task_group"
27482749

27492750
- matrix_name: "kms-kmip-test"
2750-
matrix_spec: { version: ["latest"], os-ssl-40: ["ubuntu1804-64-go-1-20"] }
2751+
matrix_spec: { version: ["latest"], os-ssl-40: ["rhel87-64-go-1-20"] }
27512752
display_name: "KMS KMIP ${os-ssl-40}"
27522753
tasks:
27532754
- name: ".kms-kmip"
27542755

27552756
- matrix_name: "fuzz-test"
2756-
matrix_spec: { version: ["5.0"], os-ssl-40: ["ubuntu1804-64-go-1-20"] }
2757+
matrix_spec: { version: ["5.0"], os-ssl-40: ["rhel87-64-go-1-20"] }
27572758
display_name: "Fuzz ${version} ${os-ssl-40}"
27582759
tasks:
27592760
- name: "test-fuzz"
27602761
batchtime: 1440 # Run at most once per 24 hours.
27612762

27622763
- matrix_name: "faas-test"
2763-
matrix_spec: { version: ["latest"], os-faas-80: ["rhel80-large-go-1-20"] }
2764+
matrix_spec: { version: ["latest"], os-faas-80: ["rhel87-large-go-1-20"] }
27642765
display_name: "FaaS ${version} ${os-faas-80}"
27652766
tasks:
27662767
- test-aws-lambda-task-group
27672768

27682769
- name: testgcpkms-variant
27692770
display_name: "GCP KMS"
27702771
run_on:
2771-
- debian11-small
2772+
- rhel8.7-small
27722773
expansions:
27732774
GO_DIST: "/opt/golang/go1.20"
27742775
tasks:
@@ -2779,7 +2780,7 @@ buildvariants:
27792780
- name: testawskms-variant
27802781
display_name: "AWS KMS"
27812782
run_on:
2782-
- debian11-small
2783+
- rhel8.7-small
27832784
expansions:
27842785
GO_DIST: "/opt/golang/go1.20"
27852786
tasks:
@@ -2789,7 +2790,7 @@ buildvariants:
27892790
- name: testazurekms-variant
27902791
display_name: "AZURE KMS"
27912792
run_on:
2792-
- debian11-small
2793+
- rhel8.7-small
27932794
expansions:
27942795
GO_DIST: "/opt/golang/go1.20"
27952796
tasks:

.evergreen/run-tests.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ fi
1515
export GOROOT="${GOROOT}"
1616
export PATH="${GOROOT}/bin:${GCC_PATH}:$GOPATH/bin:$PATH"
1717
export PROJECT="${project}"
18-
export PKG_CONFIG_PATH=$(pwd)/install/libmongocrypt/lib/pkgconfig:$(pwd)/install/mongo-c-driver/lib/pkgconfig
19-
export LD_LIBRARY_PATH=$(pwd)/install/libmongocrypt/lib
18+
export PKG_CONFIG_PATH=$(pwd)/install/libmongocrypt/lib64/pkgconfig:$(pwd)/install/mongo-c-driver/lib/pkgconfig
19+
export LD_LIBRARY_PATH=$(pwd)/install/libmongocrypt/lib64
2020
export GOFLAGS=-mod=vendor
2121

2222
SSL=${SSL:-nossl}

0 commit comments

Comments
 (0)