Skip to content
Merged
63 changes: 13 additions & 50 deletions .evergreen/buildvariants-and-tasks.in.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,39 +60,6 @@ const PACKAGE_BUILD_VARIANTS = [
}
];

const SMOKETEST_BUILD_VARIANTS = [
{
name: 'smoketest-ubuntu',
display_name: 'Smoketest Ubuntu',
run_on: 'ubuntu2004-large',
depends_on: 'package-ubuntu',
},
{
name: 'smoketest-windows',
display_name: 'Smoketest Windows',
run_on: 'windows-vsCurrent-large',
depends_on: 'package-windows',
},
{
name: 'smoketest-rhel',
display_name: 'Smoketest RHEL',
run_on: 'rhel80-large',
depends_on: 'package-rhel',
},
{
name: 'smoketest-macos-x64',
display_name: 'Smoketest MacOS Intel',
run_on: 'macos-14-gui',
depends_on: 'package-macos-x64',
},
{
name: 'smoketest-macos-arm',
display_name: 'Smoketest MacOS Arm64',
run_on: 'macos-14-arm64-gui',
depends_on: 'package-macos-arm',
}
];

const TEST_PACKAGED_APP_BUILD_VARIANTS = [
{
name: 'test-packaged-app-ubuntu',
Expand Down Expand Up @@ -216,18 +183,18 @@ buildvariants:
<% } %>
<% } %>

<% for (const buildVariant of SMOKETEST_BUILD_VARIANTS) { %>
<% for (const distribution of ['compass']) { %>
- name: <%= buildVariant.name %>-<%= distribution %>
display_name: <%= buildVariant.display_name %> (<%= distribution %>)
run_on: <%= buildVariant.run_on %>
- name: smoketest-packaged-app
display_name: Smoke Test via GitHub Actions
run_on: ubuntu2004-large
depends_on:
- name: package-<%= distribution %>
variant: <%= buildVariant.depends_on %>
<% for (const distribution of COMPASS_DISTRIBUTIONS) { %>
<% for (const buildVariant of PACKAGE_BUILD_VARIANTS) { %>
- name: package-<%= distribution %>
variant: <%= buildVariant.name %>
<% } %>
<% } %>
tasks:
- name: smoketest-<%= distribution %>
<% } %>
<% } %>
- name: smoketest-packaged-app

- name: test-eol-servers
display_name: Test EoL Servers
Expand Down Expand Up @@ -468,21 +435,17 @@ tasks:
compass_distribution: <%= distribution %>
<% } %>

<% for (const distribution of ['compass']) { %>
- name: smoketest-<%= distribution %>
- name: smoketest-packaged-app
tags: ['required-for-publish', 'run-on-pr']
commands:
- func: prepare
- func: install
- func: bootstrap
vars:
scope: 'compass-e2e-tests'
- func: smoketest-packaged-app
scope: '@mongodb-js/compass-smoke-tests'
- func: smoketest-on-github-actions
vars:
mongodb_version: <%= LATEST_MAINTAINED_SERVER_VERSION.version %>
compass_distribution: <%= distribution %>
debug: 'compass-e2e-tests*,electron*,hadron*,mongo*'
<% } %>

<% for (const serverVersion of SERVER_VERSIONS) { %>
<% for(const group of E2E_TEST_GROUPS) { %>
Expand Down
58 changes: 26 additions & 32 deletions .evergreen/buildvariants-and-tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,46 +76,42 @@ buildvariants:
- name: package-compass
- name: package-compass-isolated
- name: package-compass-readonly
- name: smoketest-ubuntu-compass
display_name: Smoketest Ubuntu (compass)
- name: smoketest-packaged-app
display_name: Smoke Test via GitHub Actions
run_on: ubuntu2004-large
depends_on:
- name: package-compass
variant: package-ubuntu
tasks:
- name: smoketest-compass
- name: smoketest-windows-compass
display_name: Smoketest Windows (compass)
run_on: windows-vsCurrent-large
depends_on:
- name: package-compass
variant: package-windows
tasks:
- name: smoketest-compass
- name: smoketest-rhel-compass
display_name: Smoketest RHEL (compass)
run_on: rhel80-large
depends_on:
- name: package-compass
variant: package-rhel
tasks:
- name: smoketest-compass
- name: smoketest-macos-x64-compass
display_name: Smoketest MacOS Intel (compass)
run_on: macos-14-gui
depends_on:
- name: package-compass
variant: package-macos-x64
tasks:
- name: smoketest-compass
- name: smoketest-macos-arm-compass
display_name: Smoketest MacOS Arm64 (compass)
run_on: macos-14-arm64-gui
depends_on:
- name: package-compass
variant: package-macos-arm
- name: package-compass-isolated
variant: package-ubuntu
- name: package-compass-isolated
variant: package-windows
- name: package-compass-isolated
variant: package-rhel
- name: package-compass-isolated
variant: package-macos-x64
- name: package-compass-isolated
variant: package-macos-arm
- name: package-compass-readonly
variant: package-ubuntu
- name: package-compass-readonly
variant: package-windows
- name: package-compass-readonly
variant: package-rhel
- name: package-compass-readonly
variant: package-macos-x64
- name: package-compass-readonly
variant: package-macos-arm
tasks:
- name: smoketest-compass
- name: smoketest-packaged-app
- name: test-eol-servers
display_name: Test EoL Servers
run_on: ubuntu1804-large
Expand Down Expand Up @@ -508,7 +504,7 @@ tasks:
- func: save-all-artifacts
vars:
compass_distribution: compass-readonly
- name: smoketest-compass
- name: smoketest-packaged-app
tags:
- required-for-publish
- run-on-pr
Expand All @@ -517,11 +513,9 @@ tasks:
- func: install
- func: bootstrap
vars:
scope: compass-e2e-tests
- func: smoketest-packaged-app
scope: '@mongodb-js/compass-smoke-tests'
- func: smoketest-on-github-actions
vars:
mongodb_version: 8.0.x-enterprise
compass_distribution: compass
debug: compass-e2e-tests*,electron*,hadron*,mongo*
- name: test-server-40x-community-1
tags:
Expand Down
43 changes: 8 additions & 35 deletions .evergreen/functions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -648,14 +648,12 @@ functions:

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

smoketest-packaged-app:
smoketest-on-github-actions:
- command: github.generate_token
params:
owner: 10gen
repo: compass-mongodb-com
expansion_name: generated_token
permissions: # optional
contents: read
actions: write
- command: shell.exec
# Fail the task if it's idle for 10 mins
timeout_secs: 600
Expand All @@ -664,42 +662,17 @@ functions:
shell: bash
env:
<<: *compass-env
<<: *compass-e2e-secrets
DEBUG: ${debug|}
MONGODB_VERSION: ${mongodb_version|}
MONGODB_RUNNER_VERSION: ${mongodb_version|}
HADRON_DISTRIBUTION: ${compass_distribution}
GITHUB_TOKEN: ${generated_token}
script: |
set -e
# Load environment variables
eval $(.evergreen/print-compass-env.sh)

npm i -w packages/compass-smoke-tests https://x-access-token:${generated_token}@github.com/10gen/compass-mongodb-com --engine-strict=false

if [[ "$IS_WINDOWS" == "true" ]]; then
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=windows_setup --tests time-to-first-query
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=windows_zip --tests auto-update-from
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=windows_msi --tests auto-update-from
fi

if [[ "$IS_OSX" == "true" ]]; then
echo "Disabling clipboard usage in e2e tests (TODO: https://jira.mongodb.org/browse/BUILD-14780)"
export COMPASS_E2E_DISABLE_CLIPBOARD_USAGE="true"
# NOTE: We're also skipping auto-update of the macOS app in CI
# because it doesn't work. Running a different test to make sure it
# can install and run successfully at least.
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=osx_zip --tests=time-to-first-query
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=osx_dmg --tests=time-to-first-query
fi

if [[ "$IS_UBUNTU" == "true" ]]; then
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=linux_deb --tests=time-to-first-query
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=linux_tar --tests=time-to-first-query
fi

if [[ "$IS_RHEL" == "true" ]]; then
# npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=linux_rpm --tests=time-to-first-query
npm run --unsafe-perm --workspace @mongodb-js/compass-smoke-tests start -- --package=linux_tar --tests=time-to-first-query
# Start the smoke tests on GitHub Actions and wait for successful completion
if [[ "${requester}" == "github_pr" ]]; then
npm run --workspace @mongodb-js/compass-smoke-tests start -- dispatch --github-pr-number ${github_pr_number}
else
npm run --workspace @mongodb-js/compass-smoke-tests start -- dispatch --ref ${branch_name}
fi

test-web-sandbox:
Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/test-installers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,14 @@ on:
type: string
description: 'S3 bucket key prefix to download installers from'
required: true
version:
dev_version:
type: string
description: 'Version of the installer to download'
required: true
description: 'Dev version of the installer to download'
nonce:
type: string
description: 'A random string to track the run from dispatch to watching'

run-name: Test Installers ${{ github.event.inputs.dev_version || github.ref_name }} / (nonce = ${{ github.event.inputs.nonce || 'not set' }})

jobs:
test:
Expand Down Expand Up @@ -157,7 +161,7 @@ jobs:
- name: Cache downloads
uses: actions/cache@v4
with:
key: smoke-tests-downloads-${{ inputs.version }}-${{ runner.os }}-${{ runner.arch }}-${{ matrix.package }}
key: smoke-tests-downloads-${{ inputs.dev_version || github.ref_name }}-${{ runner.os }}-${{ runner.arch }}-${{ matrix.package }}
path: packages/compass-smoke-tests/.downloads
- name: Install dependencies and build packages
run: npm ci
Expand Down Expand Up @@ -190,8 +194,8 @@ jobs:
env:
EVERGREEN_BUCKET_NAME: ${{ inputs.bucket_name }}
EVERGREEN_BUCKET_KEY_PREFIX: ${{ inputs.bucket_key_prefix }}
DEV_VERSION_IDENTIFIER: ${{ inputs.version }}
HADRON_DISTRIBUTION: ${{ matrix.hadron-distribution }}
DEV_VERSION_IDENTIFIER: ${{ inputs.dev_version }}
PLATFORM: ${{ matrix.hadron-platform }}
ARCH: ${{ matrix.arch }}
# Useful to pass a "fake" DISTRO_ID environment to inform the "mongodb-download-url" package
Expand Down
Loading
Loading