Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions .evergreen/buildvariants-and-tasks.in.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,35 @@ const TEST_PACKAGED_APP_BUILD_VARIANTS = [
}
];

const TEST_PACKAGED_APP_MIN_VERSION_BUILD_VARIANTS = [
{
name: 'test-packaged-app-min-ubuntu',
display_name: 'Ubuntu 20.04 (min version)',
run_on: 'ubuntu2004-large',
depends_on: 'package-ubuntu',
task: 'test-packaged-app-min-version',
},
{
name: 'test-packaged-app-min-rhel',
display_name: 'RHEL 8.0 (min version)',
run_on: 'rhel80-large',
depends_on: 'package-rhel',
task: 'test-packaged-app-min-version',
},
{
// Non-gating: the only macOS 13 GUI distro is Intel and dev-tier
// (there is no arm64 GUI host at macOS 13), and the packaged Electron
// app needs a GUI host to start a webdriver session, so this can't run
// on the non-GUI arm64 packaging distro. Runs off-PR only. (COMPASS-9087)
name: 'test-packaged-app-min-macos-x64',
display_name: 'MacOS x64 13 (min version)',
run_on: 'macos-13-amd64-gui-dev',
run_on_prs: false,
depends_on: 'package-macos-x64',
task: 'test-packaged-app-min-version-macos13',
}
];

const EOL_SERVER_VERSIONS = [
{ name: '60x-community', version: '6.0.x', requiredForPublish: true },
{ name: '60x-enterprise', version: '6.0.x-enterprise', requiredForPublish: true },
Expand Down Expand Up @@ -259,6 +288,24 @@ buildvariants:
<% } %>
<% } %>

# test-packaged-app on minimum supported platform versions (COMPASS-9087):
# a small smoke (time-to-first-query only) against the packaged app on the
# oldest OS versions we support and build on.
<% for (const buildVariant of TEST_PACKAGED_APP_MIN_VERSION_BUILD_VARIANTS) { %>
- name: <%= buildVariant.name %>
<% if (buildVariant.run_on_prs ?? true) { %>
tags:
- run-on-pr
<% } %>
display_name: Test Packaged App <%= buildVariant.display_name %>
run_on: <%= buildVariant.run_on %>
depends_on:
- name: package-compass
variant: <%= buildVariant.depends_on %>
tasks:
- name: <%= buildVariant.task %>
<% } %>

- name: publish
tags:
- run-on-pr
Expand Down Expand Up @@ -565,6 +612,48 @@ tasks:
debug: 'compass-e2e-tests*,electron*,hadron*,mongo*'


<% } %>

# Single, non-sharded smoke that runs only the time-to-first-query test
# against the packaged app. Used by the minimum-supported-version variants
# (COMPASS-9087). Two flavors: the default one, and a macOS-13 one that pins
# an older server version because the latest 8.0.x mongod is built for
# macOS 14+ and won't launch on macOS 13.
<%
const MIN_VERSION_TASKS = [
{ name: 'test-packaged-app-min-version', mongodb_version: LATEST_MAINTAINED_SERVER_VERSION.version, required_for_publish: true },
// macOS 13 only runs on a dev-tier GUI distro, so keep it non-gating.
{ name: 'test-packaged-app-min-version-macos13', mongodb_version: '8.0.5', required_for_publish: false },
];
%>
<% for (const task of MIN_VERSION_TASKS) { %>
- name: <%= task.name %>
tags:
<% if (task.required_for_publish) { %>
- required-for-publish-desktop
<% } %>
- assigned_to_jira_team_compass_compass
- foliage_check_task_only
commands:
- func: prepare
- func: install
- func: bootstrap
vars:
scope: 'compass-e2e-tests'
- func: apply-compass-target-expansion
vars:
compass_distribution: compass
- func: get-packaged-app
vars:
compass_distribution: compass
- func: test-packaged-app
vars:
mongodb_version: <%= task.mongodb_version %>
compass_distribution: compass
e2e_test_groups: 1
e2e_test_group: 1
packaged_app_test_args: '--test-filter="time-to-first-query"'
debug: 'compass-e2e-tests*,electron*,hadron*,mongo*'
<% } %>

<% for (const browser of BROWSERS) { %>
Expand Down
77 changes: 77 additions & 0 deletions .evergreen/buildvariants-and-tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,34 @@ buildvariants:
- name: test-packaged-app-1
- name: test-packaged-app-2
- name: test-packaged-app-3
- name: test-packaged-app-min-ubuntu
tags:
- run-on-pr
display_name: Test Packaged App Ubuntu 20.04 (min version)
run_on: ubuntu2004-large
depends_on:
- name: package-compass
variant: package-ubuntu
tasks:
- name: test-packaged-app-min-version
- name: test-packaged-app-min-rhel
tags:
- run-on-pr
display_name: Test Packaged App RHEL 8.0 (min version)
run_on: rhel80-large
depends_on:
- name: package-compass
variant: package-rhel
tasks:
- name: test-packaged-app-min-version
- name: test-packaged-app-min-macos-x64
display_name: Test Packaged App MacOS x64 13 (min version)
run_on: macos-13-amd64-gui-dev
depends_on:
- name: package-compass
variant: package-macos-x64
tasks:
- name: test-packaged-app-min-version-macos13
- name: publish
tags:
- run-on-pr
Expand Down Expand Up @@ -1069,6 +1097,55 @@ tasks:
e2e_test_groups: 3
e2e_test_group: 3
debug: compass-e2e-tests*,electron*,hadron*,mongo*
- name: test-packaged-app-min-version
tags:
- required-for-publish-desktop
- assigned_to_jira_team_compass_compass
- foliage_check_task_only
commands:
- func: prepare
- func: install
- func: bootstrap
vars:
scope: compass-e2e-tests
- func: apply-compass-target-expansion
vars:
compass_distribution: compass
- func: get-packaged-app
vars:
compass_distribution: compass
- func: test-packaged-app
vars:
mongodb_version: 8.0.x-enterprise
compass_distribution: compass
e2e_test_groups: 1
e2e_test_group: 1
packaged_app_test_args: '--test-filter="time-to-first-query"'
debug: compass-e2e-tests*,electron*,hadron*,mongo*
- name: test-packaged-app-min-version-macos13
tags:
- assigned_to_jira_team_compass_compass
- foliage_check_task_only
commands:
- func: prepare
- func: install
- func: bootstrap
vars:
scope: compass-e2e-tests
- func: apply-compass-target-expansion
vars:
compass_distribution: compass
- func: get-packaged-app
vars:
compass_distribution: compass
- func: test-packaged-app
vars:
mongodb_version: 8.0.5
compass_distribution: compass
e2e_test_groups: 1
e2e_test_group: 1
packaged_app_test_args: '--test-filter="time-to-first-query"'
debug: compass-e2e-tests*,electron*,hadron*,mongo*
- name: test-web-sandbox-chrome-1
tags:
- required-for-publish-web
Expand Down
3 changes: 2 additions & 1 deletion .evergreen/functions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,7 @@ functions:
MONGODB_RUNNER_VERSION: ${mongodb_version|}
COMPASS_E2E_TEST_GROUPS: ${e2e_test_groups}
COMPASS_E2E_TEST_GROUP: ${e2e_test_group}
PACKAGED_APP_TEST_ARGS: '${packaged_app_test_args|}'
script: |
set -e
# Load environment variables
Expand All @@ -727,7 +728,7 @@ functions:
export COMPASS_E2E_DISABLE_CLIPBOARD_USAGE="true"
fi

npm run --unsafe-perm --workspace compass-e2e-tests test-packaged-ci
npm run --unsafe-perm --workspace compass-e2e-tests test-packaged-ci -- $PACKAGED_APP_TEST_ARGS

smoketest-on-github-actions:
- command: github.generate_token
Expand Down
Loading