Skip to content

Commit af51eeb

Browse files
Merge remote-tracking branch 'origin/beta-releases' into ga-releases
2 parents 7a08339 + 4f3e40a commit af51eeb

File tree

268 files changed

+12463
-10398
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

268 files changed

+12463
-10398
lines changed

.evergreen/functions.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ variables:
4242
# drop support for some older linux platforms, so we are keeping them out of
4343
# sync for now
4444
# TODO: https://jira.mongodb.org/browse/COMPASS-6915
45-
NODE_JS_VERSION: '16.20.2'
46-
NPM_VERSION: '8.19.4'
45+
NODE_JS_VERSION: '18.19.1'
46+
NPM_VERSION: '10.2.4'
4747
# secrets
4848
HADRON_METRICS_INTERCOM_APP_ID: ${metrics_intercom_app_id}
4949
HADRON_METRICS_SEGMENT_API_KEY: ${metrics_segment_api_key}
@@ -88,14 +88,15 @@ post:
8888
working_dir: src
8989
shell: bash
9090
script: |
91-
tar czvf all-e2e-logs.tgz packages/compass-e2e-tests/.log
91+
tar czf all-e2e-logs.tgz packages/compass-e2e-tests/.log
9292
- command: s3.put
9393
params:
9494
<<: *save-artifact-params-private
9595
local_files_include_filter:
9696
- src/.deps/.npm/_logs/*.log
9797
- src/packages/compass-e2e-tests/.log/**/*
9898
- src/packages/compass-e2e-tests/.nyc_output/coverage.json
99+
- src/coverage.tgz
99100
- src/.testserver/logs/*
100101
- src/.evergreen/logs/*
101102
- src/all-e2e-logs.tgz
@@ -197,7 +198,7 @@ functions:
197198
echo "(if npm fails, debug.log will be uploaded to S3)"
198199
199200
# Install dependencies
200-
bash ".evergreen/retry-with-backoff.sh" npm ci --unsafe-perm
201+
bash ".evergreen/retry-with-backoff.sh" .evergreen/npm_ci.sh
201202
202203
bootstrap:
203204
- command: shell.exec
@@ -500,6 +501,8 @@ functions:
500501
501502
npm run --unsafe-perm --workspace compass-e2e-tests test-ci
502503
504+
tar czf coverage.tgz packages/compass-e2e-tests/coverage
505+
503506
test-packaged-app:
504507
- command: shell.exec
505508
# Fail the task if it's idle for 10 mins
@@ -802,6 +805,8 @@ functions:
802805
return_code=$?
803806
set -e
804807
808+
echo
809+
805810
# Runs for all the commits on main, including nightly builds:
806811
if [[ "$EVERGREEN_IS_PATCH" != "true" ]] && [[ "${project}" == "10gen-compass-main" ]]; then
807812
export JIRA_BASE_URL="https://jira.mongodb.org"
@@ -813,6 +818,8 @@ functions:
813818
cat .sbom/vulnerability-report.md
814819
fi
815820
821+
echo
822+
816823
# Fails if the report failed and is not a patch, including release branches:
817824
if [[ "$EVERGREEN_IS_PATCH" != "true" ]]; then
818825
exit $return_code

.evergreen/npm_ci.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
npm cache clean -f
6+
rm -rf node_modules
7+
find configs -name 'node_modules' -type d -prune -exec rm -rf '{}' +
8+
find packages -name 'node_modules' -type d -prune -exec rm -rf '{}' +
9+
find scripts -name 'node_modules' -type d -prune -exec rm -rf '{}' +
10+
npm ci --unsafe-perm

.evergreen/preinstall.sh

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,20 @@ if [ -n "$IS_WINDOWS" ]; then
4343
cd ..
4444
.evergreen/node-gyp-bug-workaround.sh
4545
else
46-
echo "Installing nodejs v${NODE_JS_VERSION} for ${PLATFORM} on ${ARCH}..."
46+
if command -v ldd &> /dev/null && `ldd $(which bash) | grep 'libc.so' | awk '{print $3}'` | grep -Eq 'release version 2.(1|2[0-7])'; then
47+
echo "Installing unofficial nodejs compiled for glibc 2.17 v${NODE_JS_VERSION} for ${PLATFORM} on ${ARCH}..."
48+
49+
bash "${SCRIPTDIR}/retry-with-backoff.sh" curl -fs \
50+
-o ".deps/node-v${NODE_JS_VERSION}-${PLATFORM}-$ARCH.tar.gz" \
51+
--url "https://unofficial-builds.nodejs.org/download/release/v${NODE_JS_VERSION}/node-v${NODE_JS_VERSION}-${PLATFORM}-$ARCH-glibc-217.tar.gz"
52+
else
53+
echo "Installing nodejs v${NODE_JS_VERSION} for ${PLATFORM} on ${ARCH}..."
54+
55+
bash "${SCRIPTDIR}/retry-with-backoff.sh" curl -fs \
56+
-o ".deps/node-v${NODE_JS_VERSION}-${PLATFORM}-$ARCH.tar.gz" \
57+
--url "https://nodejs.org/download/release/v${NODE_JS_VERSION}/node-v${NODE_JS_VERSION}-${PLATFORM}-$ARCH.tar.gz"
58+
fi
4759

48-
bash "${SCRIPTDIR}/retry-with-backoff.sh" curl -fs \
49-
-o ".deps/node-v${NODE_JS_VERSION}-${PLATFORM}-$ARCH.tar.gz" \
50-
--url "https://nodejs.org/download/release/v${NODE_JS_VERSION}/node-v${NODE_JS_VERSION}-${PLATFORM}-$ARCH.tar.gz"
5160
cd .deps
5261
tar xzf node-v$NODE_JS_VERSION-$PLATFORM-$ARCH.tar.gz --strip-components=1
5362

.evergreen/start-docker-envs.sh

Lines changed: 63 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,79 @@
1-
#! /usr/bin/env bash
1+
#########################################################
2+
### !!! IMPORTANT !!! ###
3+
### THIS SCRIPT IS EXECUTED WITH THE SOURCE COMMAND ###
4+
### IN CI SHELL AND SHOULD NEVER EXIT ON ITS OWN ###
5+
#########################################################
26

37
set -e
48

5-
DOCKER_COMPOSE="env MONGODB_VERSION= docker compose"
9+
HAS_DOCKER=false
10+
11+
DOCKER_COMPOSE=""
612

713
echo "Checking if docker is available ..."
814

9-
if ! docker version &>/dev/null; then
10-
echo " docker could not be found"
11-
exit
12-
elif ! docker compose version &>/dev/null; then
13-
echo " docker compose could not be found, trying standalone docker-compose as a fallback"
14-
if ! docker-compose version &>/dev/null; then
15-
echo " docker-compose could not be found"
16-
exit
15+
if docker version &>/dev/null; then
16+
echo " docker is available, checking docker compose"
17+
if docker compose version &>/dev/null; then
18+
echo " docker compose is available"
19+
HAS_DOCKER=true
20+
DOCKER_COMPOSE="env MONGODB_VERSION= docker compose"
21+
else
22+
echo " docker compose could not be found, trying standalone docker-compose as a fallback"
23+
if docker-compose version &>/dev/null; then
24+
HAS_DOCKER=true
25+
DOCKER_COMPOSE="env MONGODB_VERSION= docker-compose"
26+
else
27+
echo " docker compose not found"
28+
fi
1729
fi
18-
# TODO(COMPASS-7687): This is only here because of rhel76 that is old enough
19-
# that the docker version installed there doesn't include compose. DevProd
20-
# team suggests that we should switch to Podman on RHEL
21-
DOCKER_COMPOSE="env MONGODB_VERSION= docker-compose"
2230
fi
2331

24-
echo "Found docker:"
25-
docker version
26-
$DOCKER_COMPOSE version
32+
if [ "$HAS_DOCKER" = true ]; then
33+
docker version
34+
$DOCKER_COMPOSE version
2735

28-
echo "Starting test environments"
36+
echo "Starting test environments"
2937

30-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
31-
LOGS_DIR="$SCRIPT_DIR/logs"
32-
mkdir -p "$LOGS_DIR"
38+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
39+
LOGS_DIR="$SCRIPT_DIR/logs"
40+
mkdir -p "$LOGS_DIR"
3341

34-
git clone -b v1.2.5 --single-branch https://github.com/mongodb-js/devtools-docker-test-envs.git test-envs
35-
$DOCKER_COMPOSE -f test-envs/docker/enterprise/docker-compose.yaml up -d
36-
$DOCKER_COMPOSE -f test-envs/docker/ldap/docker-compose.yaml up -d
37-
$DOCKER_COMPOSE -f test-envs/docker/scram/docker-compose.yaml up -d
38-
$DOCKER_COMPOSE -f test-envs/docker/sharded/docker-compose.yaml up -d
39-
$DOCKER_COMPOSE -f test-envs/docker/ssh/docker-compose.yaml up -d
40-
$DOCKER_COMPOSE -f test-envs/docker/tls/docker-compose.yaml up -d
41-
$DOCKER_COMPOSE -f test-envs/docker/kerberos/docker-compose.yaml up -d
42+
git clone -b v1.3.2 --single-branch https://github.com/mongodb-js/devtools-docker-test-envs.git test-envs
43+
$DOCKER_COMPOSE -f test-envs/docker/enterprise/docker-compose.yaml up -d
44+
$DOCKER_COMPOSE -f test-envs/docker/ldap/docker-compose.yaml up -d
45+
$DOCKER_COMPOSE -f test-envs/docker/scram/docker-compose.yaml up -d
46+
$DOCKER_COMPOSE -f test-envs/docker/sharded/docker-compose.yaml up -d
47+
$DOCKER_COMPOSE -f test-envs/docker/ssh/docker-compose.yaml up -d
48+
$DOCKER_COMPOSE -f test-envs/docker/tls/docker-compose.yaml up -d
49+
$DOCKER_COMPOSE -f test-envs/docker/kerberos/docker-compose.yaml up -d
4250

43-
__stop_all_docker_containers() {
44-
echo "Stopping test environments"
45-
$DOCKER_COMPOSE -f test-envs/docker/enterprise/docker-compose.yaml ps >$LOGS_DIR/docker-enterprise.ps || true
46-
$DOCKER_COMPOSE -f test-envs/docker/ldap/docker-compose.yaml ps >$LOGS_DIR/docker-ldap.ps || true
47-
$DOCKER_COMPOSE -f test-envs/docker/scram/docker-compose.yaml ps >$LOGS_DIR/docker-scram.ps || true
48-
$DOCKER_COMPOSE -f test-envs/docker/sharded/docker-compose.yaml ps >$LOGS_DIR/docker-sharded.ps || true
49-
$DOCKER_COMPOSE -f test-envs/docker/ssh/docker-compose.yaml ps >$LOGS_DIR/docker-ssh.ps || true
50-
$DOCKER_COMPOSE -f test-envs/docker/tls/docker-compose.yaml ps >$LOGS_DIR/docker-tls.ps || true
51-
$DOCKER_COMPOSE -f test-envs/docker/kerberos/docker-compose.yaml ps >$LOGS_DIR/docker-kerberos.ps || true
51+
__stop_all_docker_containers() {
52+
echo "Stopping test environments"
53+
$DOCKER_COMPOSE -f test-envs/docker/enterprise/docker-compose.yaml ps >$LOGS_DIR/docker-enterprise.ps || true
54+
$DOCKER_COMPOSE -f test-envs/docker/ldap/docker-compose.yaml ps >$LOGS_DIR/docker-ldap.ps || true
55+
$DOCKER_COMPOSE -f test-envs/docker/scram/docker-compose.yaml ps >$LOGS_DIR/docker-scram.ps || true
56+
$DOCKER_COMPOSE -f test-envs/docker/sharded/docker-compose.yaml ps >$LOGS_DIR/docker-sharded.ps || true
57+
$DOCKER_COMPOSE -f test-envs/docker/ssh/docker-compose.yaml ps >$LOGS_DIR/docker-ssh.ps || true
58+
$DOCKER_COMPOSE -f test-envs/docker/tls/docker-compose.yaml ps >$LOGS_DIR/docker-tls.ps || true
59+
$DOCKER_COMPOSE -f test-envs/docker/kerberos/docker-compose.yaml ps >$LOGS_DIR/docker-kerberos.ps || true
5260

53-
$DOCKER_COMPOSE -f test-envs/docker/enterprise/docker-compose.yaml logs >$LOGS_DIR/docker-enterprise.log || true
54-
$DOCKER_COMPOSE -f test-envs/docker/ldap/docker-compose.yaml logs >$LOGS_DIR/docker-ldap.log || true
55-
$DOCKER_COMPOSE -f test-envs/docker/scram/docker-compose.yaml logs >$LOGS_DIR/docker-scram.log || true
56-
$DOCKER_COMPOSE -f test-envs/docker/sharded/docker-compose.yaml logs >$LOGS_DIR/docker-sharded.log || true
57-
$DOCKER_COMPOSE -f test-envs/docker/ssh/docker-compose.yaml logs >$LOGS_DIR/docker-ssh.log || true
58-
$DOCKER_COMPOSE -f test-envs/docker/tls/docker-compose.yaml logs >$LOGS_DIR/docker-tls.log || true
59-
$DOCKER_COMPOSE -f test-envs/docker/kerberos/docker-compose.yaml logs >$LOGS_DIR/docker-kerberos.log || true
61+
$DOCKER_COMPOSE -f test-envs/docker/enterprise/docker-compose.yaml logs >$LOGS_DIR/docker-enterprise.log || true
62+
$DOCKER_COMPOSE -f test-envs/docker/ldap/docker-compose.yaml logs >$LOGS_DIR/docker-ldap.log || true
63+
$DOCKER_COMPOSE -f test-envs/docker/scram/docker-compose.yaml logs >$LOGS_DIR/docker-scram.log || true
64+
$DOCKER_COMPOSE -f test-envs/docker/sharded/docker-compose.yaml logs >$LOGS_DIR/docker-sharded.log || true
65+
$DOCKER_COMPOSE -f test-envs/docker/ssh/docker-compose.yaml logs >$LOGS_DIR/docker-ssh.log || true
66+
$DOCKER_COMPOSE -f test-envs/docker/tls/docker-compose.yaml logs >$LOGS_DIR/docker-tls.log || true
67+
$DOCKER_COMPOSE -f test-envs/docker/kerberos/docker-compose.yaml logs >$LOGS_DIR/docker-kerberos.log || true
6068

61-
$DOCKER_COMPOSE -f test-envs/docker/enterprise/docker-compose.yaml down -v --remove-orphans
62-
$DOCKER_COMPOSE -f test-envs/docker/ldap/docker-compose.yaml down -v --remove-orphans
63-
$DOCKER_COMPOSE -f test-envs/docker/scram/docker-compose.yaml down -v --remove-orphans
64-
$DOCKER_COMPOSE -f test-envs/docker/sharded/docker-compose.yaml down -v --remove-orphans
65-
$DOCKER_COMPOSE -f test-envs/docker/ssh/docker-compose.yaml down -v --remove-orphans
66-
$DOCKER_COMPOSE -f test-envs/docker/tls/docker-compose.yaml down -v --remove-orphans
67-
$DOCKER_COMPOSE -f test-envs/docker/kerberos/docker-compose.yaml down -v --remove-orphans
68-
}
69+
$DOCKER_COMPOSE -f test-envs/docker/enterprise/docker-compose.yaml down -v --remove-orphans
70+
$DOCKER_COMPOSE -f test-envs/docker/ldap/docker-compose.yaml down -v --remove-orphans
71+
$DOCKER_COMPOSE -f test-envs/docker/scram/docker-compose.yaml down -v --remove-orphans
72+
$DOCKER_COMPOSE -f test-envs/docker/sharded/docker-compose.yaml down -v --remove-orphans
73+
$DOCKER_COMPOSE -f test-envs/docker/ssh/docker-compose.yaml down -v --remove-orphans
74+
$DOCKER_COMPOSE -f test-envs/docker/tls/docker-compose.yaml down -v --remove-orphans
75+
$DOCKER_COMPOSE -f test-envs/docker/kerberos/docker-compose.yaml down -v --remove-orphans
76+
}
6977

70-
trap "__stop_all_docker_containers" EXIT
78+
trap "__stop_all_docker_containers" EXIT
79+
fi

0 commit comments

Comments
 (0)