Skip to content

Commit 32fae1e

Browse files
Merge remote-tracking branch 'origin/beta-releases' into ga-releases
2 parents 6d30b4d + 8c8e61e commit 32fae1e

File tree

334 files changed

+11690
-14396
lines changed

Some content is hidden

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

334 files changed

+11690
-14396
lines changed

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

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,40 @@ const PACKAGE_BUILD_VARIANTS = [
6060
}
6161
];
6262
63+
const SMOKETEST_BUILD_VARIANTS = [
64+
{
65+
name: 'smoketest-ubuntu',
66+
display_name: 'Smoketest Ubuntu',
67+
run_on: 'ubuntu2004-large',
68+
depends_on: 'package-ubuntu',
69+
},
70+
71+
// {
72+
// name: 'smoketest-windows',
73+
// display_name: 'Smoketest Windows',
74+
// run_on: 'windows-vsCurrent-large',
75+
// depends_on: 'package-windows',
76+
// },
77+
// {
78+
// name: 'smoketest-rhel',
79+
// display_name: 'Smoketest RHEL',
80+
// run_on: 'rhel80-large',
81+
// depends_on: 'package-rhel',
82+
// },
83+
{
84+
name: 'smoketest-macos-x64',
85+
display_name: 'Smoketest MacOS Intel',
86+
run_on: 'macos-14-gui',
87+
depends_on: 'package-macos-x64',
88+
},
89+
{
90+
name: 'smoketest-macos-arm',
91+
display_name: 'Smoketest MacOS Arm64',
92+
run_on: 'macos-14-arm64-gui',
93+
depends_on: 'package-macos-arm',
94+
}
95+
];
96+
6397
const TEST_PACKAGED_APP_BUILD_VARIANTS = [
6498
{
6599
name: 'test-packaged-app-ubuntu',
@@ -82,13 +116,13 @@ const TEST_PACKAGED_APP_BUILD_VARIANTS = [
82116
{
83117
name: 'test-packaged-app-macos-11-arm',
84118
display_name: 'MacOS arm64 11',
85-
run_on: 'macos-1100-arm64-gui',
119+
run_on: 'macos-11-arm64-gui',
86120
depends_on: 'package-macos-arm'
87121
},
88122
{
89123
name: 'test-packaged-app-macos-11-x64',
90124
display_name: 'MacOS x64 11',
91-
run_on: 'macos-1100-gui',
125+
run_on: 'macos-11-gui',
92126
patchable: false,
93127
depends_on: 'package-macos-x64'
94128
},
@@ -180,6 +214,19 @@ buildvariants:
180214
<% } %>
181215
<% } %>
182216

217+
<% for (const buildVariant of SMOKETEST_BUILD_VARIANTS) { %>
218+
<% for (const distribution of ['compass']) { %>
219+
- name: <%= buildVariant.name %>-<%= distribution %>
220+
display_name: <%= buildVariant.display_name %> (<%= distribution %>)
221+
run_on: <%= buildVariant.run_on %>
222+
depends_on:
223+
- name: package-<%= distribution %>
224+
variant: <%= buildVariant.depends_on %>
225+
tasks:
226+
- name: smoketest-<%= distribution %>
227+
<% } %>
228+
<% } %>
229+
183230
- name: test-eol-servers
184231
display_name: Test EoL Servers
185232
run_on: ubuntu1804-large
@@ -424,6 +471,22 @@ tasks:
424471
- func: save-all-artifacts
425472
vars:
426473
compass_distribution: <%= distribution %>
474+
<% } %>
475+
476+
<% for (const distribution of ['compass']) { %>
477+
- name: smoketest-<%= distribution %>
478+
tags: ['required-for-publish', 'run-on-pr']
479+
commands:
480+
- func: prepare
481+
- func: install
482+
- func: bootstrap
483+
vars:
484+
scope: 'compass-e2e-tests'
485+
- func: smoketest-packaged-app
486+
vars:
487+
mongodb_version: latest-enterprise
488+
compass_distribution: <%= distribution %>
489+
debug: 'compass-e2e-tests*,electron*,hadron*,mongo*'
427490
<% } %>
428491

429492
<% for (const serverVersion of SERVER_VERSIONS) { %>
@@ -516,6 +579,8 @@ tasks:
516579
- run-on-pr
517580
- assigned_to_jira_team_compass_compass
518581
- foliage_check_task_only
582+
# These tests are expensive (literally) and shouldn't be running on PRs
583+
patchable: false
519584
commands:
520585
- func: prepare
521586
- func: install

.evergreen/buildvariants-and-tasks.yml

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,30 @@ buildvariants:
7676
- name: package-compass
7777
- name: package-compass-isolated
7878
- name: package-compass-readonly
79+
- name: smoketest-ubuntu-compass
80+
display_name: Smoketest Ubuntu (compass)
81+
run_on: ubuntu2004-large
82+
depends_on:
83+
- name: package-compass
84+
variant: package-ubuntu
85+
tasks:
86+
- name: smoketest-compass
87+
- name: smoketest-macos-x64-compass
88+
display_name: Smoketest MacOS Intel (compass)
89+
run_on: macos-14-gui
90+
depends_on:
91+
- name: package-compass
92+
variant: package-macos-x64
93+
tasks:
94+
- name: smoketest-compass
95+
- name: smoketest-macos-arm-compass
96+
display_name: Smoketest MacOS Arm64 (compass)
97+
run_on: macos-14-arm64-gui
98+
depends_on:
99+
- name: package-compass
100+
variant: package-macos-arm
101+
tasks:
102+
- name: smoketest-compass
79103
- name: test-eol-servers
80104
display_name: Test EoL Servers
81105
run_on: ubuntu1804-large
@@ -180,7 +204,7 @@ buildvariants:
180204
- name: test-packaged-app-3
181205
- name: test-packaged-app-macos-11-arm
182206
display_name: Test Packaged App MacOS arm64 11
183-
run_on: macos-1100-arm64-gui
207+
run_on: macos-11-arm64-gui
184208
patchable: true
185209
depends_on:
186210
- name: package-compass
@@ -191,7 +215,7 @@ buildvariants:
191215
- name: test-packaged-app-3
192216
- name: test-packaged-app-macos-11-x64
193217
display_name: Test Packaged App MacOS x64 11
194-
run_on: macos-1100-gui
218+
run_on: macos-11-gui
195219
patchable: false
196220
depends_on:
197221
- name: package-compass
@@ -472,6 +496,21 @@ tasks:
472496
- func: save-all-artifacts
473497
vars:
474498
compass_distribution: compass-readonly
499+
- name: smoketest-compass
500+
tags:
501+
- required-for-publish
502+
- run-on-pr
503+
commands:
504+
- func: prepare
505+
- func: install
506+
- func: bootstrap
507+
vars:
508+
scope: compass-e2e-tests
509+
- func: smoketest-packaged-app
510+
vars:
511+
mongodb_version: latest-enterprise
512+
compass_distribution: compass
513+
debug: compass-e2e-tests*,electron*,hadron*,mongo*
475514
- name: test-server-40x-community-1
476515
tags:
477516
- required-for-publish
@@ -1726,6 +1765,7 @@ tasks:
17261765
- run-on-pr
17271766
- assigned_to_jira_team_compass_compass
17281767
- foliage_check_task_only
1768+
patchable: false
17291769
commands:
17301770
- func: prepare
17311771
- func: install

.evergreen/functions.yml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ functions:
322322
# Load environment variables
323323
eval $(.evergreen/print-compass-env.sh)
324324
# Generates and expansion file with build target metadata in packages/compass/expansions.yml
325-
npm run --workspace mongodb-compass build-info -- ${target_platform} ${target_arch} --format=yaml --flatten --out expansions.raw.yml
325+
npm run --workspace mongodb-compass build-info -- --format=yaml --flatten --out expansions.raw.yml
326326
# the 'author' key conflicts with evergreen's own expansion
327327
grep -v '^author:' < packages/compass/expansions.raw.yml > packages/compass/expansions.yml
328328
- command: expansions.update
@@ -651,6 +651,31 @@ functions:
651651
652652
npm run --unsafe-perm --workspace compass-e2e-tests test-packaged-ci
653653
654+
smoketest-packaged-app:
655+
- command: shell.exec
656+
# Fail the task if it's idle for 10 mins
657+
timeout_secs: 600
658+
params:
659+
working_dir: src
660+
shell: bash
661+
env:
662+
<<: *compass-env
663+
DEBUG: ${debug|}
664+
MONGODB_VERSION: ${mongodb_version|}
665+
MONGODB_RUNNER_VERSION: ${mongodb_version|}
666+
HADRON_DISTRIBUTION: ${compass_distribution}
667+
script: |
668+
set -e
669+
# Load environment variables
670+
eval $(.evergreen/print-compass-env.sh)
671+
672+
if [[ "$IS_OSX" == "true" ]]; then
673+
echo "Disabling clipboard usage in e2e tests (TODO: https://jira.mongodb.org/browse/BUILD-14780)"
674+
export COMPASS_E2E_DISABLE_CLIPBOARD_USAGE="true"
675+
fi
676+
677+
npm run --unsafe-perm --workspace compass-e2e-tests smoketest
678+
654679
test-web-sandbox:
655680
- command: shell.exec
656681
# Fail the task if it's idle for 10 mins

.evergreen/preinstall.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ echo "NPM_VERSION: $NPM_VERSION"
1212
echo "APPDATA: $APPDATA"
1313
echo "PATH: $PATH"
1414

15+
# these are super useful if you want to run the smoke tests locally
16+
echo "DEV_VERSION_IDENTIFIER: $DEV_VERSION_IDENTIFIER"
17+
echo "EVERGREEN_BUCKET_NAME: $EVERGREEN_BUCKET_NAME"
18+
echo "EVERGREEN_BUCKET_KEY_PREFIX: $EVERGREEN_BUCKET_KEY_PREFIX"
19+
1520
echo "IS_OSX: $IS_OSX"
1621
echo "IS_LINUX: $IS_LINUX"
1722
echo "IS_WINDOWS: $IS_WINDOWS"

.github/workflows/bump-packages.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
- name: Create Pull Request
4949
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # 7.0.5
5050
with:
51-
token: ${{ secrets.SVC_DEVTOOLSBOT_TOKEN }} # TODO: replace with steps.app-token.outputs.token when it gets the PR permissions
51+
token: ${{ steps.app-token.outputs.token }}
5252
commit-message: "chore(release): bump package versions"
5353
branch: ci/bump-packages
5454
title: "chore(release): bump package versions"

.github/workflows/codeql.yml

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ name: "CodeQL"
1313

1414
on:
1515
push:
16-
branches: [ "main", '*-releases' ]
17-
tags: [ 'v*' ]
16+
branches: ["main", "*-releases"]
17+
tags: ["v*"]
1818
pull_request:
1919
# The branches below must be a subset of the branches above
20-
branches: [ "main" ]
20+
branches: ["main"]
2121
schedule:
22-
- cron: '30 14 * * 4'
22+
- cron: "30 14 * * 4"
2323
workflow_dispatch:
2424
inputs: {}
2525

@@ -36,53 +36,53 @@ jobs:
3636
strategy:
3737
fail-fast: false
3838
matrix:
39-
language: [ 'go', 'javascript', 'python' ]
39+
language: ["go", "javascript", "python"]
4040
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ]
4141
# Use only 'java' to analyze code written in Java, Kotlin or both
4242
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
4343
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
4444

4545
steps:
46-
- name: Checkout repository
47-
uses: actions/checkout@v3
46+
- name: Checkout repository
47+
uses: actions/checkout@v4
4848

49-
# Initializes the CodeQL tools for scanning.
50-
- name: Initialize CodeQL
51-
uses: github/codeql-action/init@v2
52-
with:
53-
languages: ${{ matrix.language }}
54-
# If you wish to specify custom queries, you can do so here or in a config file.
55-
# By default, queries listed here will override any specified in a config file.
56-
# Prefix the list here with "+" to use these queries and those in the config file.
49+
# Initializes the CodeQL tools for scanning.
50+
- name: Initialize CodeQL
51+
uses: github/codeql-action/init@v2
52+
with:
53+
languages: ${{ matrix.language }}
54+
# If you wish to specify custom queries, you can do so here or in a config file.
55+
# By default, queries listed here will override any specified in a config file.
56+
# Prefix the list here with "+" to use these queries and those in the config file.
5757

58-
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
59-
queries: security-extended
60-
config: |
61-
paths-ignore:
62-
- '**/*.test.js'
63-
- '**/*.spec.js'
64-
- '**/*.test.ts'
65-
- '**/*.spec.ts'
66-
- '**/*.test.tsx'
67-
- '**/*.spec.tsx'
68-
- 'scripts/**'
58+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
59+
queries: security-extended
60+
config: |
61+
paths-ignore:
62+
- '**/*.test.js'
63+
- '**/*.spec.js'
64+
- '**/*.test.ts'
65+
- '**/*.spec.ts'
66+
- '**/*.test.tsx'
67+
- '**/*.spec.tsx'
68+
- 'scripts/**'
6969
70-
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
71-
# If this step fails, then you should remove it and run the build manually (see below)
72-
- name: Autobuild
73-
uses: github/codeql-action/autobuild@v2
70+
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
71+
# If this step fails, then you should remove it and run the build manually (see below)
72+
- name: Autobuild
73+
uses: github/codeql-action/autobuild@v2
7474

75-
# ℹ️ Command-line programs to run using the OS shell.
76-
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
75+
# ℹ️ Command-line programs to run using the OS shell.
76+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
7777

78-
# If the Autobuild fails above, remove it and uncomment the following three lines.
79-
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
78+
# If the Autobuild fails above, remove it and uncomment the following three lines.
79+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
8080

81-
# - run: |
82-
# echo "Run, Build Application using script"
83-
# ./location_of_script_within_repo/buildscript.sh
81+
# - run: |
82+
# echo "Run, Build Application using script"
83+
# ./location_of_script_within_repo/buildscript.sh
8484

85-
- name: Perform CodeQL Analysis
86-
uses: github/codeql-action/analyze@v2
87-
with:
88-
category: "/language:${{matrix.language}}"
85+
- name: Perform CodeQL Analysis
86+
uses: github/codeql-action/analyze@v2
87+
with:
88+
category: "/language:${{matrix.language}}"

.github/workflows/publish-compass.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ on:
55
workflow_dispatch:
66
inputs:
77
dryRun:
8-
description: 'Run publish in dry-run mode (WARN: think twice when changing this value, this will override currently published manifest in download center!)'
8+
description: "Run publish in dry-run mode (WARN: think twice when changing this value, this will override currently published manifest in download center!)"
99
required: true
10-
default: 'true'
10+
default: "true"
1111
release:
1212
types: [published]
1313

@@ -17,13 +17,13 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Checkout
20-
uses: actions/checkout@v3
20+
uses: actions/checkout@v4
2121

2222
- name: Setup Node.js Environment
23-
uses: actions/setup-node@v3
23+
uses: actions/setup-node@v4
2424
with:
2525
node-version: 20.16.0
26-
cache: 'npm'
26+
cache: "npm"
2727

2828
- name: Install [email protected]
2929
run: |
@@ -36,7 +36,7 @@ jobs:
3636
3737
- name: Upload updated download center manifest
3838
env:
39-
DEBUG: 'hadron*,mongo*,compass*'
39+
DEBUG: "hadron*,mongo*,compass*"
4040
DOWNLOAD_CENTER_AWS_ACCESS_KEY_ID: ${{ secrets.DOWNLOAD_CENTER_AWS_ACCESS_KEY_ID }}
4141
DOWNLOAD_CENTER_AWS_SECRET_ACCESS_KEY: ${{ secrets.DOWNLOAD_CENTER_AWS_SECRET_ACCESS_KEY }}
4242
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)