Skip to content

Commit a716567

Browse files
Merge remote-tracking branch 'origin/main' into beta-releases
2 parents ceee46d + 25ecd73 commit a716567

File tree

137 files changed

+4285
-3212
lines changed

Some content is hidden

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

137 files changed

+4285
-3212
lines changed

.evergreen/buildvariants-and-tasks.in.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,31 +32,31 @@ const PACKAGE_BUILD_VARIANTS = [
3232
// # when compiling/re-building addons. This ensures compatibility with other
3333
// # debian platforms that have glibc 2.27 or newer.
3434
run_on: 'ubuntu1804-large',
35-
silk_asset_group: 'compass-ubuntu',
35+
target_platform: 'ubuntu',
3636
},
3737
{
3838
name: 'package-windows',
3939
display_name: 'Package Windows',
4040
run_on: 'windows-vsCurrent-large',
41-
silk_asset_group: 'compass-windows',
41+
target_platform: 'windows',
4242
},
4343
{
4444
name: 'package-rhel',
4545
display_name: 'Package RHEL',
4646
run_on: 'rhel80-large',
47-
silk_asset_group: 'compass-rhel',
47+
target_platform: 'rhel',
4848
},
4949
{
5050
name: 'package-macos-x64',
5151
display_name: 'Package MacOS Intel',
5252
run_on: 'macos-14',
53-
silk_asset_group: 'compass-macos',
53+
target_platform: 'macos',
5454
},
5555
{
5656
name: 'package-macos-arm',
5757
display_name: 'Package MacOS Arm64',
5858
run_on: 'macos-14-arm64',
59-
silk_asset_group: 'compass-macos-arm',
59+
target_platform: 'macos-arm',
6060
}
6161
];
6262

.evergreen/buildvariants-and-tasks.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ buildvariants:
3333
run_on: macos-14-arm64-gui
3434
- name: package-ubuntu
3535
expansions:
36-
silk_asset_group: compass-ubuntu
36+
target_platform: ubuntu
3737
display_name: Package Ubuntu
3838
run_on: ubuntu1804-large
3939
tasks:
@@ -42,7 +42,7 @@ buildvariants:
4242
- name: package-compass-readonly
4343
- name: package-windows
4444
expansions:
45-
silk_asset_group: compass-windows
45+
target_platform: windows
4646
display_name: Package Windows
4747
run_on: windows-vsCurrent-large
4848
tasks:
@@ -51,7 +51,7 @@ buildvariants:
5151
- name: package-compass-readonly
5252
- name: package-rhel
5353
expansions:
54-
silk_asset_group: compass-rhel
54+
target_platform: rhel
5555
display_name: Package RHEL
5656
run_on: rhel80-large
5757
tasks:
@@ -60,7 +60,7 @@ buildvariants:
6060
- name: package-compass-readonly
6161
- name: package-macos-x64
6262
expansions:
63-
silk_asset_group: compass-macos
63+
target_platform: macos
6464
display_name: Package MacOS Intel
6565
run_on: macos-14
6666
tasks:
@@ -69,7 +69,7 @@ buildvariants:
6969
- name: package-compass-readonly
7070
- name: package-macos-arm
7171
expansions:
72-
silk_asset_group: compass-macos-arm
72+
target_platform: macos-arm
7373
display_name: Package MacOS Arm64
7474
run_on: macos-14-arm64
7575
tasks:

.evergreen/create-sbom.sh

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,26 @@ CRYPT_SHARED_VERSION=$(cat packages/compass/src/deps/csfle/version)
77

88
set +x
99
echo "${ARTIFACTORY_PASSWORD}" > /tmp/artifactory_password
10-
cat << EOF > /tmp/silkbomb.env
11-
SILK_CLIENT_ID=${SILK_CLIENT_ID}
12-
SILK_CLIENT_SECRET=${SILK_CLIENT_SECRET}
13-
EOF
1410
set -x
1511

1612
trap_handler() {
17-
rm -vf /tmp/artifactory_password /tmp/silkbomb.env
13+
rm -vf /tmp/artifactory_password
1814
}
1915
trap trap_handler ERR EXIT
2016

21-
scp -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -P "$SIGNING_SERVER_PORT" .sbom/dependencies.json /tmp/silkbomb.env /tmp/artifactory_password "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME":/tmp/
17+
scp -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -P "$SIGNING_SERVER_PORT" .sbom/dependencies.json /tmp/artifactory_password "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME":/tmp/
2218
ssh -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -p "$SIGNING_SERVER_PORT" "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME" \
2319
"(cat /tmp/dependencies.json | jq -r '.[] | "'"pkg:npm/" + .name + "@" + .version'"' > /tmp/purls.txt) && \
2420
echo "pkg:generic/mongo_crypt_shared@${CRYPT_SHARED_VERSION}" >> /tmp/purls.txt && \
25-
(cat /tmp/artifactory_password | docker login artifactory.corp.mongodb.com --username '${ARTIFACTORY_USERNAME}' --password-stdin ; rm -f /tmp/artifactor_password ) && \
26-
docker pull artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:1.0 && \
27-
docker run --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:1.0 update \
21+
(cat /tmp/artifactory_password | docker login artifactory.corp.mongodb.com --username '${ARTIFACTORY_USERNAME}' --password-stdin ; rm -f /tmp/artifactory_password ) && \
22+
docker pull artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:2.0 && \
23+
docker run --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:2.0 update \
2824
--purls /tmp/purls.txt --sbom-out /tmp/sbom-lite.json && \
29-
docker run --env-file /tmp/silkbomb.env --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:1.0 upload \
30-
--silk-asset-group "${SILK_ASSET_GROUP}" --sbom-in /tmp/sbom-lite.json && \
31-
docker run --env-file /tmp/silkbomb.env --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:1.0 download \
32-
--silk-asset-group "${SILK_ASSET_GROUP}" --sbom-out /tmp/sbom.json"
33-
scp -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -P "$SIGNING_SERVER_PORT" "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME":/tmp/{sbom-lite.json,sbom.json,purls.txt} .sbom/
25+
kondukto_token=\$(AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} \
26+
AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} \
27+
AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN} \
28+
aws secretsmanager get-secret-value --secret-id \"kondukto-token\" --query 'SecretString' --output text) && \
29+
echo \"KONDUKTO_TOKEN=\$kondukto_token\" > /tmp/kondukto_credentials.env && \
30+
docker run --env-file /tmp/kondukto_credentials.env --rm -v /tmp:/tmp artifactory.corp.mongodb.com/release-tools-container-registry-public-local/silkbomb:2.0 augment \
31+
--repo mongodb-js/compass --branch ${KONDUKTO_BRANCH} --sbom-in /tmp/sbom-lite.json --sbom-out /tmp/sbom.json"
32+
scp -v -i "$SIGNING_SERVER_PRIVATE_KEY_CYGPATH" -P "$SIGNING_SERVER_PORT" "$SIGNING_SERVER_USERNAME"@"$SIGNING_SERVER_HOSTNAME":/tmp/{sbom-lite.json,sbom.json,purls.txt} .sbom/

.evergreen/functions.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -413,10 +413,15 @@ functions:
413413
# Load environment variables
414414
eval $(.evergreen/print-compass-env.sh)
415415
cd packages/compass && npm run prepackage-compass
416+
- command: ec2.assume_role
417+
display_name: Assume IAM role with permissions to pull Kondukto API token
418+
params:
419+
role_arn: ${kondukto_role_arn}
416420
- command: shell.exec
417421
params:
418422
working_dir: src
419423
shell: bash
424+
include_expansions_in_env: [AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN]
420425
env:
421426
ARTIFACTORY_USERNAME: ${artifactory_username}
422427
ARTIFACTORY_PASSWORD: ${artifactory_password}
@@ -425,10 +430,8 @@ functions:
425430
SIGNING_SERVER_PRIVATE_KEY_CYGPATH: ${SIGNING_SERVER_PRIVATE_KEY_CYGPATH}
426431
SIGNING_SERVER_USERNAME: ${SIGNING_SERVER_USERNAME}
427432
SIGNING_SERVER_PORT: ${SIGNING_SERVER_PORT}
428-
# for Silk SBOM integration
429-
SILK_ASSET_GROUP: ${silk_asset_group}
430-
SILK_CLIENT_ID: ${silk_client_id}
431-
SILK_CLIENT_SECRET: ${silk_client_secret}
433+
# for SilkBomb integration
434+
KONDUKTO_BRANCH: ${branch_name}_${target_platform}
432435
script: |
433436
set -e
434437
@@ -698,7 +701,7 @@ functions:
698701
fi
699702
700703
if [[ "$IS_RHEL" == "true" ]]; then
701-
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=linux_rpm --tests=time-to-first-query
704+
# npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=linux_rpm --tests=time-to-first-query
702705
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=linux_tar --tests=time-to-first-query
703706
fi
704707

.evergreen/verify-artifacts.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,18 +74,23 @@ if [ "$IS_WINDOWS" = true ]; then
7474
verify_using_powershell $WINDOWS_EXE_NAME
7575
verify_using_powershell $WINDOWS_MSI_NAME
7676
echo "Skipping verification for Windows artifacts using gpg: $WINDOWS_ZIP_NAME, $WINDOWS_NUPKG_NAME"
77+
DEBUG=compass* npm run -w mongodb-compass verify-package-contents
78+
7779
elif [ "$IS_UBUNTU" = true ]; then
7880
setup_gpg
7981
verify_using_gpg $LINUX_DEB_NAME
8082
verify_using_gpg $LINUX_TAR_NAME
83+
DEBUG=compass* npm run -w mongodb-compass verify-package-contents
8184
elif [ "$IS_RHEL" = true ]; then
8285
setup_gpg
8386
verify_using_rpm $RHEL_RPM_NAME
8487
verify_using_gpg $RHEL_TAR_NAME
88+
DEBUG=compass* npm run -w mongodb-compass verify-package-contents
8589
elif [ "$IS_OSX" = true ]; then
8690
setup_gpg
8791
verify_using_gpg $OSX_ZIP_NAME
8892
verify_using_codesign $OSX_DMG_NAME
93+
DEBUG=compass* npm run -w mongodb-compass verify-package-contents
8994
else
9095
echo "Unknown OS, failed to verify file signing"
9196
exit 1

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ contact_links:
99
- name: General Questions and Inquiries
1010
url: https://www.mongodb.com/community/forums/tags/c/data/developer-tools/49/compass
1111
about: Visit our forums for public community discussion and collaboration.
12+

.github/workflows/test-installers.yml

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
# TODO: Re-enable (see https://github.com/mongodb-js/compass/actions/runs/13281152689/job/37079619474)
4040
# - linux_tar
4141
# TODO: Enable (needs a docker container)
42-
# - linux_rpm
42+
- linux_rpm
4343
hadron-distribution:
4444
- compass
4545
- compass-readonly
@@ -78,10 +78,21 @@ jobs:
7878
# runs-on: ubuntu-latest
7979
# arch: x64
8080
# hadron-platform: linux
81-
# - package: linux_rpm
82-
# runs-on: ubuntu-latest
83-
# arch: x64
84-
# hadron-platform: linux
81+
- package: linux_rpm
82+
runs-on: ubuntu-latest
83+
arch: x64
84+
hadron-platform: linux
85+
distro-id: rhel80
86+
post-checkout-command: |
87+
dnf install -y gcc gcc-c++ make git nss dbus xorg-x11-server-Xvfb yum-utils
88+
# Enable the devel repo to install compat-openssl11 (bringing libcrupto.so.1.1 to run mongod)
89+
dnf config-manager --set-enabled devel
90+
dnf update -y
91+
dnf install -y compat-openssl11
92+
container:
93+
image: rockylinux:9
94+
volumes:
95+
- ${{ github.workspace }}:/compass
8596

8697
# Install the update server for auto-update tests
8798
- test: auto-update-from
@@ -115,15 +126,19 @@ jobs:
115126
package: windows_msi
116127
- test: auto-update-to
117128
package: windows_setup
129+
# Waiting for https://github.com/10gen/compass-mongodb-com/pull/122 to be released
118130
- test: auto-update-to
119131
package: linux_deb
132+
- test: auto-update-to
133+
package: linux_rpm
120134

121135
# Skip time-to-first-query tests for readonly because it doesn't have editable documents
122136
# See https://github.com/mongodb-js/compass/actions/runs/13286945911/job/37097791601
123137
- hadron-distribution: compass-readonly
124138
test: time-to-first-query
125139

126140
runs-on: ${{ matrix.runs-on }}
141+
container: ${{ matrix.container }}
127142
env:
128143
DEBUG: compass:smoketests:*
129144
steps:
@@ -134,6 +149,11 @@ jobs:
134149
with:
135150
node-version: 20
136151
cache: "npm"
152+
153+
- name: Run post-checkout command
154+
if: matrix.post-checkout-command
155+
run: ${{ matrix.post-checkout-command }}
156+
137157
- name: Cache downloads
138158
uses: actions/cache@v4
139159
with:
@@ -161,10 +181,10 @@ jobs:
161181
token: ${{ steps.app-token.outputs.token }}
162182
# Make sure the value of GITHUB_TOKEN will not be persisted in repo's config
163183
persist-credentials: false
164-
path: 'compass-mongodb-com'
184+
path: compass-mongodb-com
165185
- name: Install Compass Update server
166186
if: matrix.install-update-server
167-
run: npm install --no-save --workspace packages/compass-smoke-tests ${{ github.workspace }}/compass-mongodb-com
187+
run: npm install --no-save --workspace packages/compass-smoke-tests ./compass-mongodb-com
168188

169189
- name: Run tests
170190
env:
@@ -174,7 +194,11 @@ jobs:
174194
HADRON_DISTRIBUTION: ${{ matrix.hadron-distribution }}
175195
PLATFORM: ${{ matrix.hadron-platform }}
176196
ARCH: ${{ matrix.arch }}
197+
# Useful to pass a "fake" DISTRO_ID environment to inform the "mongodb-download-url" package
198+
# See https://github.com/mongodb-js/devtools-shared/blob/aff66db7b7fc4f8ecaec2383fd4e8c116733a7e4/packages/download-url/src/linux-distro.ts#L14
199+
DISTRO_ID: ${{ matrix.distro-id }}
177200
# Exposing token to prevent update server from being rate limited
178201
GITHUB_TOKEN: ${{ github.token }}
179202
working-directory: packages/compass-smoke-tests
180-
run: npm start -- --package ${{ matrix.package }} --tests ${{ matrix.test }}
203+
# Using --skipUninstalling --skipCleanup because the runners are ephemeral
204+
run: npm start -- --package ${{ matrix.package }} --tests ${{ matrix.test }} --skipUninstall --skipCleanup

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,4 @@ djechlin-mongodb <[email protected]>
9898
Dylan Richardson <[email protected]>
9999
Luke Wilson <[email protected]>
100100
Niva Sivakumar <[email protected]>
101+
Will Ratner <[email protected]>

THIRD-PARTY-NOTICES.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
The following third-party software is used by and included in **Mongodb Compass**.
2-
This document was automatically generated on Sun Feb 16 2025.
2+
This document was automatically generated on Sun Feb 23 2025.
33

44
## List of dependencies
55

@@ -245,7 +245,7 @@ Package|Version|License
245245
**[ee-first](#e2746902c758ae8a6f91ffb9618cd53717f936cb33c6323e65b6b7b24f7ebefe)**|1.1.1|MIT
246246
**[electron-dl](#e97e034c7b93c63e7a433d75f6f1de3e0668764225ebbd61dbde8d1b55d6f3b7)**|3.5.0|MIT
247247
**[electron-squirrel-startup](#09fb8168e8fda2e174f8d1a1c392ffd8f762c5637c788edd00d1e2486d060349)**|1.0.1|Apache-2.0
248-
**[electron](#b2112dacf9fd21713f4828c72f03403f9b5039136d2aef26dbf55cbdc0ad434b)**|32.3.0|MIT
248+
**[electron](#214bb0bf0e0750595853808b26356f8ebe7d892e6d1e23618c3a3f71a94708d1)**|32.3.1|MIT
249249
**[encodeurl](#b89152db475e86531e570f87b45d8a51aa5e5d87d4cc3b960cee7b8febf1d26a)**|1.0.2|MIT
250250
**[encodeurl](#177948a319ae0aeebbd65742c53c62b37c75ec1d021afa5a188d10a7ceae6623)**|2.0.0|MIT
251251
**[end-of-stream](#fadc10994f5fa767d06fb25cfff35fb17a895daf3bc3477c782907668ed16563)**|1.4.4|MIT
@@ -450,7 +450,7 @@ Package|Version|License
450450
**[napi-build-utils](#26912b5ff7632f262d64273f99cd1a869376c5c378960e24501585e35b31054a)**|1.0.2|MIT
451451
**[negotiator](#e3856213d8f0a7d28cd4166e53ec7e2c019cb7becf4a8535097bac28d21e8579)**|0.6.3|MIT
452452
**[netmask](#2bd5b8ff7fab9adace6c38d3fd32e7328484939fdd07836635b0155d0afc35b2)**|2.0.2|MIT
453-
**[node-abi](#d828b90b26e003401ce41aa4719bb6164ab1e897f15db9728e6871146a8197da)**|3.73.0|MIT
453+
**[node-abi](#e0fdace18ee5ae0d28d9180ead4d34c46d38ba2185a05dd566a3f7b1a699b2f0)**|3.74.0|MIT
454454
**[node-addon-api](#75c2a47526765afc024a6641ec7b1b37935dc672a211ebdd9773d74bc43a95b4)**|6.1.0|MIT
455455
**[node-domexception](#3c25065fd2bc1b6b56856e30ac5b8f34ddae33ca87b225854f8d855b0ccabfbe)**|1.0.0|MIT
456456
**[node-fetch](#364527ef1b51cc6ac34872b931049c9e25b5014f9b40e3898c84e1a830e21720)**|2.6.7|MIT
@@ -18952,8 +18952,8 @@ License files:
1895218952

1895318953

1895418954

18955-
<a id="b2112dacf9fd21713f4828c72f03403f9b5039136d2aef26dbf55cbdc0ad434b"></a>
18956-
### [electron](https://www.npmjs.com/package/electron) (version 32.3.0)
18955+
<a id="214bb0bf0e0750595853808b26356f8ebe7d892e6d1e23618c3a3f71a94708d1"></a>
18956+
### [electron](https://www.npmjs.com/package/electron) (version 32.3.1)
1895718957
License tags: MIT
1895818958

1895918959
License files:
@@ -27676,8 +27676,8 @@ License files:
2767627676
License tags: MIT
2767727677

2767827678

27679-
<a id="d828b90b26e003401ce41aa4719bb6164ab1e897f15db9728e6871146a8197da"></a>
27680-
### [node-abi](https://www.npmjs.com/package/node-abi) (version 3.73.0)
27679+
<a id="e0fdace18ee5ae0d28d9180ead4d34c46d38ba2185a05dd566a3f7b1a699b2f0"></a>
27680+
### [node-abi](https://www.npmjs.com/package/node-abi) (version 3.74.0)
2768127681
License tags: MIT
2768227682

2768327683
License files:

configs/eslint-config-compass/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mongodb-js/eslint-config-compass",
3-
"version": "1.3.1",
3+
"version": "1.3.2",
44
"description": "Shared Compass eslint configuration",
55
"license": "SSPL",
66
"main": "index.js",
@@ -16,7 +16,7 @@
1616
"@babel/core": "^7.21.4",
1717
"@babel/eslint-parser": "^7.14.3",
1818
"@mongodb-js/eslint-config-devtools": "^0.9.9",
19-
"@mongodb-js/eslint-plugin-compass": "^1.2.1",
19+
"@mongodb-js/eslint-plugin-compass": "^1.2.2",
2020
"@typescript-eslint/eslint-plugin": "^5.59.0",
2121
"@typescript-eslint/parser": "^5.59.0",
2222
"eslint-config-prettier": "^8.3.0",

0 commit comments

Comments
 (0)