From 8a563d8c0b44b477b8b3c2f87aaeb0dfa011b310 Mon Sep 17 00:00:00 2001 From: Maurizio Casimirri Date: Fri, 14 Jun 2024 13:23:44 +0200 Subject: [PATCH] chore(ci): restructure CI build variants and tasks, prepare to run packaged-app tests on multiple platform versions (#5898) * chore: test macos 14, configure patchable for build variants * forbid additional properties * restructure buildvariants and tasks generation * readd eol servers * remove comment * add missing deps * split the CI more * move checks out of package * clean up names * use ubuntu2004 to test maintained servers * more fixes * use ubuntu2004 instead * fix static analysis report files * chore: disable macos * remove check from unit tests --- .evergreen.yml | 3 +- .evergreen/buildvariants-and-tasks.in.yml | 460 +++++++++++ .evergreen/buildvariants-and-tasks.yml | 772 +++++++++++++++++++ .evergreen/buildvariants.in.yml | 40 - .evergreen/buildvariants.yml | 305 -------- .evergreen/config.json | 194 ----- .evergreen/tasks.in.yml | 189 ----- .evergreen/tasks.yml | 565 -------------- .evergreen/template-yml.js | 148 +--- package-lock.json | 607 ++++++++------- package.json | 3 + packages/compass-web/src/entrypoint.spec.tsx | 2 +- packages/hadron-build/lib/target.js | 2 +- packages/hadron-build/test/signtool.test.js | 5 - 14 files changed, 1596 insertions(+), 1699 deletions(-) create mode 100644 .evergreen/buildvariants-and-tasks.in.yml create mode 100644 .evergreen/buildvariants-and-tasks.yml delete mode 100644 .evergreen/buildvariants.in.yml delete mode 100644 .evergreen/buildvariants.yml delete mode 100644 .evergreen/config.json delete mode 100644 .evergreen/tasks.in.yml delete mode 100644 .evergreen/tasks.yml diff --git a/.evergreen.yml b/.evergreen.yml index fe5b2cf28ce..f6976f17e9c 100644 --- a/.evergreen.yml +++ b/.evergreen.yml @@ -5,5 +5,4 @@ ignore: - THIRD-PARTY-NOTICES.md include: - filename: .evergreen/functions.yml - - filename: .evergreen/tasks.yml - - filename: .evergreen/buildvariants.yml + - filename: .evergreen/buildvariants-and-tasks.yml diff --git a/.evergreen/buildvariants-and-tasks.in.yml b/.evergreen/buildvariants-and-tasks.in.yml new file mode 100644 index 00000000000..166160f7455 --- /dev/null +++ b/.evergreen/buildvariants-and-tasks.in.yml @@ -0,0 +1,460 @@ +<% +const UNIT_TESTS_BUILD_VARIANTS = [ + { + name: 'unit-tests-ubuntu', + display_name: 'Unit Tests Ubuntu', + run_on: 'ubuntu2004-large', + }, + { + name: 'unit-tests-windows', + display_name: 'Unit Tests Windows', + run_on: 'windows-vsCurrent-large', + }, + { + name: 'unit-tests-rhel', + display_name: 'Unit Tests RHEL', + run_on: 'rhel80-large', + }, + { + name: 'unit-tests-macos', + display_name: 'Unit Tests MacOS', + run_on: 'macos-14-arm64', + run_on_gui: 'macos-14-arm64-gui' + } +]; + +const PACKAGE_BUILD_VARIANTS = [ + { + name: 'package-ubuntu', + display_name: 'Package Ubuntu', + run_on: 'ubuntu1604-large', + }, + { + name: 'package-windows', + display_name: 'Package Windows', + run_on: 'windows-vsCurrent-large', + }, + { + name: 'package-rhel', + display_name: 'Package RHEL', + run_on: 'rhel80-large', + }, + { + name: 'package-macos-x64', + display_name: 'Package MacOS Intel', + run_on: 'macos-1100' + }, + { + name: 'package-macos-arm', + display_name: 'Package MacOS Arm64', + run_on: 'macos-1100-arm64' + } +]; + +const TEST_PACKAGED_APP_BUILD_VARIANTS = [ + { + name: 'test-packaged-app-ubuntu', + display_name: 'Ubuntu 20.04', + run_on: 'ubuntu2004-large', + depends_on: 'package-ubuntu', + }, + { + name: 'test-packaged-app-windows', + display_name: 'Windows 10', + run_on: 'windows-vsCurrent-large', + depends_on: 'package-windows', + }, + { + name: 'test-packaged-app-rhel', + display_name: 'RHEL 8.0', + run_on: 'rhel80-large', + depends_on: 'package-rhel', + }, + { + name: 'test-packaged-app-macos-11-arm', + display_name: 'MacOS arm64 11', + run_on: 'macos-1100-arm64-gui', + depends_on: 'package-macos-arm' + }, + { + name: 'test-packaged-app-macos-11-x64', + display_name: 'MacOS x64 11', + run_on: 'macos-1100-gui', + patchable: false, + depends_on: 'package-macos-x64' + } +]; + +const EOL_SERVER_VERSIONS = [ + { name: '40x-community', version: '4.0.x' }, + { name: '40x-enterprise', version: '4.0.x-enterprise' }, + { name: '42x-community', version: '4.2.x' }, + { name: '42x-enterprise', version: '4.2.x-enterprise' }, + { name: '44x-community', version: '4.4.x' }, + { name: '44x-enterprise', version: '4.4.x-enterprise' }, + { name: '5x-community', version: '5.x.x' }, + { name: '5x-enterprise', version: '5.x.x-enterprise' } +]; + +// NOTE: the order matters here. The latest element of this array is used +// to test the packaged app. +const MAINTAINED_SERVER_VERSIONS = [ + { name: '60x-community', version: '6.0.x' }, + { name: '60x-enterprise', version: '6.0.x-enterprise' }, + { name: '70x-community', version: '7.0.x' }, + { name: '70x-enterprise', version: '7.0.x-enterprise' }, + { name: '80x-community', version: '>= 8.0.0-rc4' }, + { name: '80x-enterprise', version: '>= 8.0.0-rc4-enterprise' }, +]; + +const TEST_LATEST_ALPHA_SERVER_VERSION = { name: 'latest-alpha', version: 'latest-alpha-enterprise' }; + +const SERVER_VERSIONS = [ + ...EOL_SERVER_VERSIONS, + ...MAINTAINED_SERVER_VERSIONS, + TEST_LATEST_ALPHA_SERVER_VERSION +]; + +const COMPASS_DISTRIBUTIONS = ["compass", "compass-isolated", "compass-readonly"]; +%> + +# +# Build Variants +# +buildvariants: + - name: connectivity-tests + + display_name: Connectivity Tests + run_on: ubuntu2004-large + tasks: + - name: test-connectivity + + - name: generate-vulnerability-report + display_name: Vulnerability Report + run_on: ubuntu2004-large + tasks: + - name: generate-vulnerability-report + + - name: coverage + display_name: E2E Coverage + run_on: ubuntu2004-large + tasks: + - name: e2e-coverage + + - name: csfle-tests + display_name: CSFLE Tests + run_on: ubuntu2004-large + tasks: + - name: test-csfle + + - name: test-web-sandbox + display_name: Test Web Sandbox + run_on: ubuntu2004-large + tasks: + - name: test-web-sandbox-chrome + - name: test-web-sandbox-firefox + + - name: check + display_name: Check + run_on: ubuntu2004-large + tasks: + - name: check + + # unit-tests +<% for (const buildVariant of UNIT_TESTS_BUILD_VARIANTS) { %> + - name: <%= buildVariant.name %> + + display_name: <%= buildVariant.display_name %> + run_on: <%= buildVariant.run_on %> + tasks: + - name: test + - name: test-electron + <% if (buildVariant.run_on_gui) { %> + run_on: <%= buildVariant.run_on_gui %> + <% } %> +<% } %> + + # package +<% for (const buildVariant of PACKAGE_BUILD_VARIANTS) { %> + - name: <%= buildVariant.name %> + + display_name: <%= buildVariant.display_name %> + run_on: <%= buildVariant.run_on %> + tasks: + <% for (const distribution of COMPASS_DISTRIBUTIONS) { %> + - name: package-<%= distribution %> + <% } %> +<% } %> + + - name: test-eol-servers + display_name: Test EoL Servers + run_on: ubuntu1804-large + patchable: false + depends_on: + - name: package-compass + variant: package-ubuntu + tasks: + <% for (const serverVersion of EOL_SERVER_VERSIONS) { %> + - name: test-packaged-app-<%= serverVersion.name %> + <% } %> + + - name: test-maintained-servers + display_name: Test Maintained Servers + run_on: ubuntu2004-large + patchable: true + depends_on: + - name: package-compass + variant: package-ubuntu + tasks: + <% for (const serverVersion of MAINTAINED_SERVER_VERSIONS) { %> + - name: test-packaged-app-<%= serverVersion.name %> + <% } %> + + - name: test-latest-alpha + display_name: Test Latest Alpha Server + run_on: ubuntu2004-large + patchable: false + depends_on: + - name: package-compass + variant: package-ubuntu + tasks: + - name: test-packaged-app-<%= TEST_LATEST_ALPHA_SERVER_VERSION.name %> + + # test-packaged-app +<% for (const buildVariant of TEST_PACKAGED_APP_BUILD_VARIANTS) { %> + - name: <%= buildVariant.name %> + display_name: Test Packaged App <%= buildVariant.display_name %> + run_on: <%= buildVariant.run_on %> + patchable: <%= buildVariant.patchable ?? true %> + depends_on: + - name: package-compass + variant: <%= buildVariant.depends_on %> + tasks: + - name: test-packaged-app-<%= MAINTAINED_SERVER_VERSIONS[MAINTAINED_SERVER_VERSIONS.length - 1].name %> +<% } %> + + - name: publish + display_name: Publish Artifacts + run_on: ubuntu2004-large + tasks: + - name: publish + - name: publish-packages-next + - name: publish-dev-release-info + - name: create_static_analysis_report + +# +# Tasks +# +tasks: + - name: check + tags: ['required-for-publish', 'run-on-pr'] + commands: + - func: prepare + - func: install + - func: bootstrap + - func: check + + - name: test + tags: ['required-for-publish', 'run-on-pr'] + commands: + - func: prepare + - func: install + - func: bootstrap + - func: test + vars: + debug: 'hadron*,mongo*' + + - name: test-electron + tags: ['required-for-publish', 'run-on-pr'] + commands: + - func: prepare + - func: install + - func: bootstrap + - func: test-electron + vars: + debug: 'hadron*,mongo*' + + - name: test-connectivity + tags: ['required-for-publish', 'run-on-pr'] + commands: + - func: clone + - func: test-connectivity + vars: + debug: 'compass*,electron*,hadron*,mongo*' + + - name: test-csfle + tags: ['required-for-publish', 'run-on-pr'] + commands: + - func: prepare + - func: install + - func: bootstrap + - func: test-csfle + vars: + debug: 'compass*,electron*,hadron*,mongo*' + + - name: e2e-coverage + tags: ['run-on-pr'] + commands: + - func: prepare + - func: install + - func: bootstrap + - func: e2e-coverage + vars: + debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' + + - name: generate-vulnerability-report + tags: ['required-for-publish', 'run-on-pr'] + commands: + - func: prepare + - func: install + - func: bootstrap + - func: generate-vulnerability-report + vars: + debug: 'compass*,electron*,hadron*,mongo*' + + # Publish happens in one go to make sure we are not creating multiple github + # releases in parallel + - name: publish + # Does a dry-run: doesn't actually publishes, but checks that all files + # exist and we are not trying to do a "broken" publish + tags: ['run-on-pr'] + depends_on: + - name: '.required-for-publish' + variant: '*' + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: mongodb-compass + - func: get-all-artifacts + - func: publish + + - name: publish-packages-next + tags: [] + depends_on: + - name: '.required-for-publish' + variant: '*' + commands: + - func: prepare + - func: install + - func: bootstrap + - func: publish-packages-next + + - name: publish-dev-release-info + tags: [] + depends_on: + - name: 'publish' + variant: '*' + commands: + - func: prepare + - func: publish-dev-release-info + + - name: test-web-sandbox-chrome + tags: ['required-for-publish', 'run-on-pr'] + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: 'compass-e2e-tests' + - func: apply-compass-target-expansion + vars: + compass_distribution: compass + - func: test-web-sandbox + vars: + mongodb_version: 'latest-alpha-enterprise' + browser_name: 'chrome' + compass_distribution: compass + debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' + + - name: test-web-sandbox-firefox + tags: ['required-for-publish', 'run-on-pr'] + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: 'compass-e2e-tests' + - func: apply-compass-target-expansion + vars: + compass_distribution: compass + - func: test-web-sandbox + vars: + mongodb_version: 'latest-alpha-enterprise' + browser_name: 'firefox' + compass_distribution: compass + debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' + +<% for (const distribution of COMPASS_DISTRIBUTIONS) { %> + - name: package-<%= distribution %> + tags: ['required-for-publish', 'run-on-pr', 'package-task'] + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: '@mongodb-js/webpack-config-compass' + - func: apply-compass-target-expansion + vars: + compass_distribution: <%= distribution %> + - func: spawn-signing-server + - func: package + vars: + debug: 'hadron*,mongo*,compass*,electron*,sign*' + compass_distribution: <%= distribution %> + - func: verify-artifacts + - func: save-all-artifacts + vars: + compass_distribution: <%= distribution %> +<% } %> + +<% +for (const serverVersion of SERVER_VERSIONS) { %> + - name: test-packaged-app-<%= serverVersion.name %> + tags: + - required-for-publish + - run-on-pr + 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: '<%= serverVersion.version %>' + compass_distribution: compass + debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' +<% } %> + + - name: create_static_analysis_report + tags: ['required-for-publish', 'run-on-pr'] + depends_on: + - name: ".package-task" + variant: "*" + commands: + - func: prepare + - func: install +<% +let firstPartyDepsFilenames = []; +for (const compassDistribution of COMPASS_DISTRIBUTIONS) { + const filenames = PACKAGE_BUILD_VARIANTS.map( + (variant) => `first-party-deps-${compassDistribution}-${variant.name}.json` + ); + + for (const filename of filenames) { + firstPartyDepsFilenames.push(filename); %> + - func: get_first_party_dependency_list + vars: + filename: <%= filename %> +<% } } %> + - func: create_static_analysis_report + vars: + first_party_dependency_filenames: <%= firstPartyDepsFilenames.map(f => '.sbom/' + f).join(',') %> diff --git a/.evergreen/buildvariants-and-tasks.yml b/.evergreen/buildvariants-and-tasks.yml new file mode 100644 index 00000000000..dfca8130dd9 --- /dev/null +++ b/.evergreen/buildvariants-and-tasks.yml @@ -0,0 +1,772 @@ +# This file has been generated. Do not edit this file directly. +# Edit buildvariants-and-tasks.in.yml instead. +buildvariants: + - name: connectivity-tests + display_name: Connectivity Tests + run_on: ubuntu2004-large + tasks: + - name: test-connectivity + - name: generate-vulnerability-report + display_name: Vulnerability Report + run_on: ubuntu2004-large + tasks: + - name: generate-vulnerability-report + - name: coverage + display_name: E2E Coverage + run_on: ubuntu2004-large + tasks: + - name: e2e-coverage + - name: csfle-tests + display_name: CSFLE Tests + run_on: ubuntu2004-large + tasks: + - name: test-csfle + - name: test-web-sandbox + display_name: Test Web Sandbox + run_on: ubuntu2004-large + tasks: + - name: test-web-sandbox-chrome + - name: test-web-sandbox-firefox + - name: check + display_name: Check + run_on: ubuntu2004-large + tasks: + - name: check + - name: unit-tests-ubuntu + display_name: Unit Tests Ubuntu + run_on: ubuntu2004-large + tasks: + - name: test + - name: test-electron + - name: unit-tests-windows + display_name: Unit Tests Windows + run_on: windows-vsCurrent-large + tasks: + - name: test + - name: test-electron + - name: unit-tests-rhel + display_name: Unit Tests RHEL + run_on: rhel80-large + tasks: + - name: test + - name: test-electron + - name: unit-tests-macos + display_name: Unit Tests MacOS + run_on: macos-14-arm64 + tasks: + - name: test + - name: test-electron + run_on: macos-14-arm64-gui + - name: package-ubuntu + display_name: Package Ubuntu + run_on: ubuntu1604-large + tasks: + - name: package-compass + - name: package-compass-isolated + - name: package-compass-readonly + - name: package-windows + display_name: Package Windows + run_on: windows-vsCurrent-large + tasks: + - name: package-compass + - name: package-compass-isolated + - name: package-compass-readonly + - name: package-rhel + display_name: Package RHEL + run_on: rhel80-large + tasks: + - name: package-compass + - name: package-compass-isolated + - name: package-compass-readonly + - name: package-macos-x64 + display_name: Package MacOS Intel + run_on: macos-1100 + tasks: + - name: package-compass + - name: package-compass-isolated + - name: package-compass-readonly + - name: package-macos-arm + display_name: Package MacOS Arm64 + run_on: macos-1100-arm64 + tasks: + - name: package-compass + - name: package-compass-isolated + - name: package-compass-readonly + - name: test-eol-servers + display_name: Test EoL Servers + run_on: ubuntu1804-large + patchable: false + depends_on: + - name: package-compass + variant: package-ubuntu + tasks: + - name: test-packaged-app-40x-community + - name: test-packaged-app-40x-enterprise + - name: test-packaged-app-42x-community + - name: test-packaged-app-42x-enterprise + - name: test-packaged-app-44x-community + - name: test-packaged-app-44x-enterprise + - name: test-packaged-app-5x-community + - name: test-packaged-app-5x-enterprise + - name: test-maintained-servers + display_name: Test Maintained Servers + run_on: ubuntu2004-large + patchable: true + depends_on: + - name: package-compass + variant: package-ubuntu + tasks: + - name: test-packaged-app-60x-community + - name: test-packaged-app-60x-enterprise + - name: test-packaged-app-70x-community + - name: test-packaged-app-70x-enterprise + - name: test-packaged-app-80x-community + - name: test-packaged-app-80x-enterprise + - name: test-latest-alpha + display_name: Test Latest Alpha Server + run_on: ubuntu2004-large + patchable: false + depends_on: + - name: package-compass + variant: package-ubuntu + tasks: + - name: test-packaged-app-latest-alpha + - name: test-packaged-app-ubuntu + display_name: Test Packaged App Ubuntu 20.04 + run_on: ubuntu2004-large + patchable: true + depends_on: + - name: package-compass + variant: package-ubuntu + tasks: + - name: test-packaged-app-80x-enterprise + - name: test-packaged-app-windows + display_name: Test Packaged App Windows 10 + run_on: windows-vsCurrent-large + patchable: true + depends_on: + - name: package-compass + variant: package-windows + tasks: + - name: test-packaged-app-80x-enterprise + - name: test-packaged-app-rhel + display_name: Test Packaged App RHEL 8.0 + run_on: rhel80-large + patchable: true + depends_on: + - name: package-compass + variant: package-rhel + tasks: + - name: test-packaged-app-80x-enterprise + - name: test-packaged-app-macos-11-arm + display_name: Test Packaged App MacOS arm64 11 + run_on: macos-1100-arm64-gui + patchable: true + depends_on: + - name: package-compass + variant: package-macos-arm + tasks: + - name: test-packaged-app-80x-enterprise + - name: test-packaged-app-macos-11-x64 + display_name: Test Packaged App MacOS x64 11 + run_on: macos-1100-gui + patchable: false + depends_on: + - name: package-compass + variant: package-macos-x64 + tasks: + - name: test-packaged-app-80x-enterprise + - name: publish + display_name: Publish Artifacts + run_on: ubuntu2004-large + tasks: + - name: publish + - name: publish-packages-next + - name: publish-dev-release-info + - name: create_static_analysis_report +tasks: + - name: check + tags: + - required-for-publish + - run-on-pr + commands: + - func: prepare + - func: install + - func: bootstrap + - func: check + - name: test + tags: + - required-for-publish + - run-on-pr + commands: + - func: prepare + - func: install + - func: bootstrap + - func: test + vars: + debug: hadron*,mongo* + - name: test-electron + tags: + - required-for-publish + - run-on-pr + commands: + - func: prepare + - func: install + - func: bootstrap + - func: test-electron + vars: + debug: hadron*,mongo* + - name: test-connectivity + tags: + - required-for-publish + - run-on-pr + commands: + - func: clone + - func: test-connectivity + vars: + debug: compass*,electron*,hadron*,mongo* + - name: test-csfle + tags: + - required-for-publish + - run-on-pr + commands: + - func: prepare + - func: install + - func: bootstrap + - func: test-csfle + vars: + debug: compass*,electron*,hadron*,mongo* + - name: e2e-coverage + tags: + - run-on-pr + commands: + - func: prepare + - func: install + - func: bootstrap + - func: e2e-coverage + vars: + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: generate-vulnerability-report + tags: + - required-for-publish + - run-on-pr + commands: + - func: prepare + - func: install + - func: bootstrap + - func: generate-vulnerability-report + vars: + debug: compass*,electron*,hadron*,mongo* + - name: publish + tags: + - run-on-pr + depends_on: + - name: .required-for-publish + variant: '*' + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: mongodb-compass + - func: get-all-artifacts + - func: publish + - name: publish-packages-next + tags: [] + depends_on: + - name: .required-for-publish + variant: '*' + commands: + - func: prepare + - func: install + - func: bootstrap + - func: publish-packages-next + - name: publish-dev-release-info + tags: [] + depends_on: + - name: publish + variant: '*' + commands: + - func: prepare + - func: publish-dev-release-info + - name: test-web-sandbox-chrome + tags: + - required-for-publish + - run-on-pr + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: compass-e2e-tests + - func: apply-compass-target-expansion + vars: + compass_distribution: compass + - func: test-web-sandbox + vars: + mongodb_version: latest-alpha-enterprise + browser_name: chrome + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-web-sandbox-firefox + tags: + - required-for-publish + - run-on-pr + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: compass-e2e-tests + - func: apply-compass-target-expansion + vars: + compass_distribution: compass + - func: test-web-sandbox + vars: + mongodb_version: latest-alpha-enterprise + browser_name: firefox + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: package-compass + tags: + - required-for-publish + - run-on-pr + - package-task + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: '@mongodb-js/webpack-config-compass' + - func: apply-compass-target-expansion + vars: + compass_distribution: compass + - func: spawn-signing-server + - func: package + vars: + debug: hadron*,mongo*,compass*,electron*,sign* + compass_distribution: compass + - func: verify-artifacts + - func: save-all-artifacts + vars: + compass_distribution: compass + - name: package-compass-isolated + tags: + - required-for-publish + - run-on-pr + - package-task + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: '@mongodb-js/webpack-config-compass' + - func: apply-compass-target-expansion + vars: + compass_distribution: compass-isolated + - func: spawn-signing-server + - func: package + vars: + debug: hadron*,mongo*,compass*,electron*,sign* + compass_distribution: compass-isolated + - func: verify-artifacts + - func: save-all-artifacts + vars: + compass_distribution: compass-isolated + - name: package-compass-readonly + tags: + - required-for-publish + - run-on-pr + - package-task + commands: + - func: prepare + - func: install + - func: bootstrap + vars: + scope: '@mongodb-js/webpack-config-compass' + - func: apply-compass-target-expansion + vars: + compass_distribution: compass-readonly + - func: spawn-signing-server + - func: package + vars: + debug: hadron*,mongo*,compass*,electron*,sign* + compass_distribution: compass-readonly + - func: verify-artifacts + - func: save-all-artifacts + vars: + compass_distribution: compass-readonly + - name: test-packaged-app-40x-community + tags: + - required-for-publish + - run-on-pr + 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: 4.0.x + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-40x-enterprise + tags: + - required-for-publish + - run-on-pr + 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: 4.0.x-enterprise + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-42x-community + tags: + - required-for-publish + - run-on-pr + 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: 4.2.x + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-42x-enterprise + tags: + - required-for-publish + - run-on-pr + 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: 4.2.x-enterprise + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-44x-community + tags: + - required-for-publish + - run-on-pr + 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: 4.4.x + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-44x-enterprise + tags: + - required-for-publish + - run-on-pr + 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: 4.4.x-enterprise + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-5x-community + tags: + - required-for-publish + - run-on-pr + 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: 5.x.x + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-5x-enterprise + tags: + - required-for-publish + - run-on-pr + 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: 5.x.x-enterprise + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-60x-community + tags: + - required-for-publish + - run-on-pr + 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: 6.0.x + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-60x-enterprise + tags: + - required-for-publish + - run-on-pr + 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: 6.0.x-enterprise + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-70x-community + tags: + - required-for-publish + - run-on-pr + 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: 7.0.x + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-70x-enterprise + tags: + - required-for-publish + - run-on-pr + 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: 7.0.x-enterprise + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-80x-community + tags: + - required-for-publish + - run-on-pr + 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.0-rc4' + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-80x-enterprise + tags: + - required-for-publish + - run-on-pr + 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.0-rc4-enterprise' + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: test-packaged-app-latest-alpha + tags: + - required-for-publish + - run-on-pr + 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: latest-alpha-enterprise + compass_distribution: compass + debug: compass-e2e-tests*,electron*,hadron*,mongo* + - name: create_static_analysis_report + tags: + - required-for-publish + - run-on-pr + depends_on: + - name: .package-task + variant: '*' + commands: + - func: prepare + - func: install + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-package-ubuntu.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-package-windows.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-package-rhel.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-package-macos-x64.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-package-macos-arm.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-isolated-package-ubuntu.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-isolated-package-windows.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-isolated-package-rhel.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-isolated-package-macos-x64.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-isolated-package-macos-arm.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-readonly-package-ubuntu.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-readonly-package-windows.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-readonly-package-rhel.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-readonly-package-macos-x64.json + - func: get_first_party_dependency_list + vars: + filename: first-party-deps-compass-readonly-package-macos-arm.json + - func: create_static_analysis_report + vars: + first_party_dependency_filenames: >- + .sbom/first-party-deps-compass-package-ubuntu.json,.sbom/first-party-deps-compass-package-windows.json,.sbom/first-party-deps-compass-package-rhel.json,.sbom/first-party-deps-compass-package-macos-x64.json,.sbom/first-party-deps-compass-package-macos-arm.json,.sbom/first-party-deps-compass-isolated-package-ubuntu.json,.sbom/first-party-deps-compass-isolated-package-windows.json,.sbom/first-party-deps-compass-isolated-package-rhel.json,.sbom/first-party-deps-compass-isolated-package-macos-x64.json,.sbom/first-party-deps-compass-isolated-package-macos-arm.json,.sbom/first-party-deps-compass-readonly-package-ubuntu.json,.sbom/first-party-deps-compass-readonly-package-windows.json,.sbom/first-party-deps-compass-readonly-package-rhel.json,.sbom/first-party-deps-compass-readonly-package-macos-x64.json,.sbom/first-party-deps-compass-readonly-package-macos-arm.json diff --git a/.evergreen/buildvariants.in.yml b/.evergreen/buildvariants.in.yml deleted file mode 100644 index 5f7f8c59352..00000000000 --- a/.evergreen/buildvariants.in.yml +++ /dev/null @@ -1,40 +0,0 @@ -buildvariants: - - name: generate-vulnerability-report - display_name: Vulnerability Report - run_on: ubuntu2004-large - tasks: - - name: generate-vulnerability-report - - - name: coverage - display_name: E2E Coverage - run_on: ubuntu2004-large - tasks: - - name: e2e-coverage - - - name: ubuntu_publish - display_name: Publish Artifacts - run_on: ubuntu2004-large - tasks: - - name: publish - - name: publish-packages-next - - name: publish-dev-release-info - - name: create_static_analysis_report - - - name: ubuntu_connectivity_tests - display_name: Connectivity Tests - run_on: ubuntu2004-large - tasks: - - name: test-connectivity - - - name: ubuntu_csfle_tests - display_name: CSFLE Tests - run_on: ubuntu2004-large - tasks: - - name: test-csfle -<% for (const buildVariant of buildVariants) { %> - - name: <% out(buildVariant.name) %> - display_name: <% out(buildVariant.display_name) %> (Test and Package) - run_on: <% out(buildVariant.run_on) %> - tasks:<% for (const task of buildVariant.tasks) { %> - - name: <% out(task.name); task.run_on && out(`\n run_on: ${task.run_on}`); task.depends_on && out(`\n depends_on: ${task.depends_on}`); %> -<% }} %> diff --git a/.evergreen/buildvariants.yml b/.evergreen/buildvariants.yml deleted file mode 100644 index f036cc61102..00000000000 --- a/.evergreen/buildvariants.yml +++ /dev/null @@ -1,305 +0,0 @@ -buildvariants: - - name: generate-vulnerability-report - display_name: Vulnerability Report - run_on: ubuntu2004-large - tasks: - - name: generate-vulnerability-report - - - name: coverage - display_name: E2E Coverage - run_on: ubuntu2004-large - tasks: - - name: e2e-coverage - - - name: ubuntu_publish - display_name: Publish Artifacts - run_on: ubuntu2004-large - tasks: - - name: publish - - name: publish-packages-next - - name: publish-dev-release-info - - name: create_static_analysis_report - - - name: ubuntu_connectivity_tests - display_name: Connectivity Tests - run_on: ubuntu2004-large - tasks: - - name: test-connectivity - - - name: ubuntu_csfle_tests - display_name: CSFLE Tests - run_on: ubuntu2004-large - tasks: - - name: test-csfle - - - name: ubuntu - display_name: Ubuntu 20.04 (Test and Package) - run_on: ubuntu2004-large - tasks: - - name: check - - - name: test - - - name: test-electron - - - name: package-compass - run_on: ubuntu1604-large - - - name: package-compass-readonly - run_on: ubuntu1604-large - - - name: package-compass-isolated - run_on: ubuntu1604-large - - - name: test-packaged-app-40x-community - depends_on: package-compass - - - name: test-packaged-app-40x-enterprise - run_on: ubuntu1804-large - depends_on: package-compass - - - name: test-packaged-app-42x-community - depends_on: package-compass - - - name: test-packaged-app-42x-enterprise - run_on: ubuntu1804-large - depends_on: package-compass - - - name: test-packaged-app-44x-community - depends_on: package-compass - - - name: test-packaged-app-44x-enterprise - depends_on: package-compass - - - name: test-packaged-app-5x-community - depends_on: package-compass - - - name: test-packaged-app-5x-enterprise - depends_on: package-compass - - - name: test-packaged-app-60x-community - depends_on: package-compass - - - name: test-packaged-app-60x-enterprise - depends_on: package-compass - - - name: test-packaged-app-70x-community - depends_on: package-compass - - - name: test-packaged-app-70x-enterprise - depends_on: package-compass - - - name: test-packaged-app-80x-community - depends_on: package-compass - - - name: test-packaged-app-80x-enterprise - depends_on: package-compass - - - name: test-packaged-app-latest - depends_on: package-compass - - - name: test-web-sandbox-chrome - - - name: test-web-sandbox-firefox - - - name: windows - display_name: Windows 10 (Test and Package) - run_on: windows-vsCurrent-large - tasks: - - name: check - - - name: test - - - name: test-electron - - - name: package-compass - - - name: package-compass-readonly - - - name: package-compass-isolated - - - name: test-packaged-app-40x-community - depends_on: package-compass - - - name: test-packaged-app-40x-enterprise - depends_on: package-compass - - - name: test-packaged-app-42x-community - depends_on: package-compass - - - name: test-packaged-app-42x-enterprise - depends_on: package-compass - - - name: test-packaged-app-44x-community - depends_on: package-compass - - - name: test-packaged-app-44x-enterprise - depends_on: package-compass - - - name: test-packaged-app-5x-community - depends_on: package-compass - - - name: test-packaged-app-5x-enterprise - depends_on: package-compass - - - name: test-packaged-app-60x-community - depends_on: package-compass - - - name: test-packaged-app-60x-enterprise - depends_on: package-compass - - - name: test-packaged-app-70x-community - depends_on: package-compass - - - name: test-packaged-app-70x-enterprise - depends_on: package-compass - - - name: test-packaged-app-80x-community - depends_on: package-compass - - - name: test-packaged-app-80x-enterprise - depends_on: package-compass - - - name: test-packaged-app-latest - depends_on: package-compass - - - name: rhel - display_name: RHEL 8.0 (Test and Package) - run_on: rhel80-large - tasks: - - name: check - - - name: test - - - name: test-electron - - - name: package-compass - - - name: package-compass-readonly - - - name: package-compass-isolated - - - name: test-packaged-app-40x-community - depends_on: package-compass - - - name: test-packaged-app-40x-enterprise - depends_on: package-compass - - - name: test-packaged-app-42x-community - depends_on: package-compass - - - name: test-packaged-app-42x-enterprise - depends_on: package-compass - - - name: test-packaged-app-44x-community - depends_on: package-compass - - - name: test-packaged-app-44x-enterprise - depends_on: package-compass - - - name: test-packaged-app-5x-community - depends_on: package-compass - - - name: test-packaged-app-5x-enterprise - depends_on: package-compass - - - name: test-packaged-app-60x-community - depends_on: package-compass - - - name: test-packaged-app-60x-enterprise - depends_on: package-compass - - - name: test-packaged-app-70x-community - depends_on: package-compass - - - name: test-packaged-app-70x-enterprise - depends_on: package-compass - - - name: test-packaged-app-80x-community - depends_on: package-compass - - - name: test-packaged-app-80x-enterprise - depends_on: package-compass - - - name: macos - display_name: MacOS x64 11.00 (Test and Package) - run_on: macos-1100 - tasks: - - name: check - - - name: test - - - name: test-electron - run_on: macos-1100-gui - - - name: package-compass - - - name: package-compass-readonly - - - name: package-compass-isolated - - - name: test-packaged-app-60x-community - run_on: macos-1100-gui - depends_on: package-compass - - - name: test-packaged-app-60x-enterprise - run_on: macos-1100-gui - depends_on: package-compass - - - name: test-packaged-app-70x-community - run_on: macos-1100-gui - depends_on: package-compass - - - name: test-packaged-app-70x-enterprise - run_on: macos-1100-gui - depends_on: package-compass - - - name: test-packaged-app-80x-community - run_on: macos-1100-gui - depends_on: package-compass - - - name: test-packaged-app-80x-enterprise - run_on: macos-1100-gui - depends_on: package-compass - - - name: macos-arm - display_name: MacOS arm64 11.00 (Test and Package) - run_on: macos-1100-arm64 - tasks: - - name: check - - - name: test - - - name: test-electron - run_on: macos-1100-arm64-gui - - - name: package-compass - - - name: package-compass-readonly - - - name: package-compass-isolated - - - name: test-packaged-app-60x-community - run_on: macos-1100-arm64-gui - depends_on: package-compass - - - name: test-packaged-app-60x-enterprise - run_on: macos-1100-arm64-gui - depends_on: package-compass - - - name: test-packaged-app-70x-community - run_on: macos-1100-arm64-gui - depends_on: package-compass - - - name: test-packaged-app-70x-enterprise - run_on: macos-1100-arm64-gui - depends_on: package-compass - - - name: test-packaged-app-80x-community - run_on: macos-1100-arm64-gui - depends_on: package-compass - - - name: test-packaged-app-80x-enterprise - run_on: macos-1100-arm64-gui - depends_on: package-compass - diff --git a/.evergreen/config.json b/.evergreen/config.json deleted file mode 100644 index 58914e4dffb..00000000000 --- a/.evergreen/config.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "variants": { - "run_on": [ - "ubuntu2004-large", - "windows-vsCurrent-large", - "rhel80-large", - ["macos-1100", { "gui": "macos-1100-gui" }], - ["macos-1100-arm64", { "gui": "macos-1100-arm64-gui" }] - ], - "tasks": [ - "check", - "test", - ["test-electron", { "gui": true }], - "package", - ["test-packaged-app", { "gui": true, "depends_on": "package-compass" }], - ["test-web-sandbox", { "gui": true }] - ] - }, - "tasks": { - "tags": ["required-for-publish", "run-on-pr"], - "variants": { - "package": [ - { - "name": "compass", - "vars": { "compass_distribution": "compass" }, - "//": "We are explicitly packaging on the EOL version of Ubuntu so that Compass (or rather compiled native dependencies) works on Ubuntu versions starting from this versions", - "run_on_override": { - "ubuntu2004-large": "ubuntu1604-large" - } - }, - { - "name": "compass-readonly", - "vars": { "compass_distribution": "compass-readonly" }, - "run_on_override": { - "ubuntu2004-large": "ubuntu1604-large" - } - }, - { - "name": "compass-isolated", - "vars": { "compass_distribution": "compass-isolated" }, - "run_on_override": { - "ubuntu2004-large": "ubuntu1604-large" - } - } - ], - "test-packaged-app": [ - { - "name": "40x-community", - "vars": { - "mongodb_version": "4.0.x" - }, - "skip_on": ["macos-1100", "macos-1100-arm64"] - }, - { - "name": "40x-enterprise", - "vars": { - "mongodb_version": "4.0.x-enterprise" - }, - "skip_on": ["macos-1100", "macos-1100-arm64"], - "//": "MongoDB 4.0 / 4.2 Enterprise doesn't work on Ubuntu 20.04 without additional dependencies installed, it's easier to use an older machine than install missing dependencies as machines we are using are stateful", - "run_on_override": { - "ubuntu2004-large": "ubuntu1804-large" - } - }, - { - "name": "42x-community", - "vars": { - "mongodb_version": "4.2.x" - }, - "skip_on": ["macos-1100", "macos-1100-arm64"] - }, - { - "name": "42x-enterprise", - "vars": { - "mongodb_version": "4.2.x-enterprise" - }, - "skip_on": ["macos-1100", "macos-1100-arm64"], - "run_on_override": { - "ubuntu2004-large": "ubuntu1804-large" - } - }, - { - "name": "44x-community", - "vars": { - "mongodb_version": "4.4.x" - }, - "skip_on": ["macos-1100", "macos-1100-arm64"] - }, - { - "name": "44x-enterprise", - "vars": { - "mongodb_version": "4.4.x-enterprise" - }, - "skip_on": ["macos-1100", "macos-1100-arm64"] - }, - { - "name": "5x-community", - "vars": { - "mongodb_version": "5.x.x" - }, - "skip_on": ["macos-1100", "macos-1100-arm64"] - }, - { - "name": "5x-enterprise", - "vars": { - "mongodb_version": "5.x.x-enterprise" - }, - "skip_on": ["macos-1100", "macos-1100-arm64"] - }, - { - "name": "60x-community", - "vars": { - "mongodb_version": "6.0.x" - } - }, - { - "name": "60x-enterprise", - "vars": { - "mongodb_version": "6.0.x-enterprise" - } - }, - { - "name": "70x-community", - "vars": { - "mongodb_version": "7.0.x" - } - }, - { - "name": "70x-enterprise", - "vars": { - "mongodb_version": "7.0.x-enterprise" - } - }, - { - "name": "80x-community", - "vars": { - "mongodb_version": ">= 8.0.0-rc4" - } - }, - { - "name": "80x-enterprise", - "vars": { - "mongodb_version": ">= 8.0.0-rc4-enterprise" - } - }, - { - "name": "latest", - "vars": { - "mongodb_version": "latest-alpha-enterprise" - }, - "skip_on": ["macos-1100", "macos-1100-arm64", "rhel80-large"] - } - ], - "test-web-sandbox": [ - { - "name": "chrome", - "vars": { - "mongodb_version": "latest-alpha-enterprise", - "browser_name": "chrome" - }, - "skip_on": ["macos-1100", "macos-1100-arm64", "rhel80-large", "windows-vsCurrent-large"] - }, - { - "name": "firefox", - "vars": { - "mongodb_version": "latest-alpha-enterprise", - "browser_name": "firefox" - }, - "skip_on": ["macos-1100", "macos-1100-arm64", "rhel80-large", "windows-vsCurrent-large"] - } - ] - } - }, - "run_on_alias": { - "short": { - "ubuntu2004-large": "ubuntu", - "windows-vsCurrent-large": "windows", - "rhel80-large": "rhel", - "macos-1100": "macos", - "macos-1100-arm64": "macos-arm", - "macos-1100-gui": "macos-gui", - "macos-1100-arm64-gui": "macos-gui-arm" - }, - "long": { - "ubuntu2004-large": "Ubuntu 20.04", - "windows-vsCurrent-large": "Windows 10", - "rhel80-large": "RHEL 8.0", - "macos-1100": "MacOS x64 11.00", - "macos-1100-arm64": "MacOS arm64 11.00", - "macos-1100-gui": "MacOS x64 11.00 w/ GUI Session", - "macos-1100-arm64-gui": "MacOS arm64 11.00 w/ GUI Session" - } - } -} diff --git a/.evergreen/tasks.in.yml b/.evergreen/tasks.in.yml deleted file mode 100644 index 5bb241a3c6f..00000000000 --- a/.evergreen/tasks.in.yml +++ /dev/null @@ -1,189 +0,0 @@ -tasks: - - name: check - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: check - - - name: test - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: test - vars: - debug: 'hadron*,mongo*' - - - name: test-electron - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: test-electron - vars: - debug: 'hadron*,mongo*' - - - name: test-connectivity - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: clone - - func: test-connectivity - vars: - debug: 'compass*,electron*,hadron*,mongo*' - - - name: test-csfle - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: test-csfle - vars: - debug: 'compass*,electron*,hadron*,mongo*' - - - name: e2e-coverage - tags: ['run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: e2e-coverage - vars: - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: generate-vulnerability-report - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: generate-vulnerability-report - vars: - debug: 'compass*,electron*,hadron*,mongo*' - - # Publish happens in one go to make sure we are not creating multiple github - # releases in parallel - - name: publish - # Does a dry-run: doesn't actually publishes, but checks that all files - # exist and we are not trying to do a "broken" publish - tags: ['run-on-pr'] - depends_on: - - name: '.required-for-publish' - variant: '*' - commands: - - func: prepare - - func: install - - func: bootstrap - vars: - scope: mongodb-compass - - func: get-all-artifacts - - func: publish - - - name: publish-packages-next - tags: [] - depends_on: - - name: '.required-for-publish' - variant: '*' - commands: - - func: prepare - - func: install - - func: bootstrap - - func: publish-packages-next - - name: publish-dev-release-info - tags: [] - depends_on: - - name: 'publish' - variant: '*' - commands: - - func: prepare - - func: publish-dev-release-info -<% for (const packageTask of tasks.package) { %> - - name: <% out(packageTask.name) %> - tags: ['required-for-publish', 'run-on-pr', 'package-task'] - commands: - - func: prepare - - func: install - - func: bootstrap - vars: - scope: '@mongodb-js/webpack-config-compass' - - func: apply-compass-target-expansion - vars: - compass_distribution: <% out(packageTask.vars.compass_distribution) %> - - func: spawn-signing-server - - func: package - vars: - debug: 'hadron*,mongo*,compass*,electron*,sign*' - compass_distribution: <% out(packageTask.vars.compass_distribution) %> - - func: verify-artifacts - - func: save-all-artifacts - vars: - compass_distribution: <% out(packageTask.vars.compass_distribution) %> -<% } %> -<% for (const testPackagedTask of tasks['test-packaged-app']) { %> - - name: <% out(testPackagedTask.name) %> - tags: ['required-for-publish', 'run-on-pr'] - 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: <% for (const [key, value] of Object.entries(testPackagedTask.vars)) { %> - <% out(`${key}: '${value}'`) } %> - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' -<% } %> -<% for (const testPackagedTask of tasks['test-web-sandbox']) { %> - - name: <% out(testPackagedTask.name) %> - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - vars: - scope: 'compass-e2e-tests' - - func: apply-compass-target-expansion - vars: - compass_distribution: compass - - func: test-web-sandbox - vars: <% for (const [key, value] of Object.entries(testPackagedTask.vars)) { %> - <% out(`${key}: '${value}'`) } %> - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' -<% } %> - - name: create_static_analysis_report - tags: ['required-for-publish', 'run-on-pr'] - depends_on: - - name: ".package-task" - variant: "*" - commands: - - func: prepare - - func: install -<% -let firstPartyDepsFilenames = []; -for (const packageTask of tasks.package) { - const filenames = [ - `first-party-deps-${packageTask.vars.compass_distribution}-ubuntu.json`, - `first-party-deps-${packageTask.vars.compass_distribution}-windows.json`, - `first-party-deps-${packageTask.vars.compass_distribution}-macos.json`, - `first-party-deps-${packageTask.vars.compass_distribution}-macos-arm.json`]; - for (const filename of filenames) { - firstPartyDepsFilenames.push(filename); %> - - func: get_first_party_dependency_list - vars: - filename: <% out(filename) %> -<% } } %> - - func: create_static_analysis_report - vars: - first_party_dependency_filenames: <% out(firstPartyDepsFilenames.map(f => `.sbom/${f}`).join(',')) %> diff --git a/.evergreen/tasks.yml b/.evergreen/tasks.yml deleted file mode 100644 index 661f473f8b0..00000000000 --- a/.evergreen/tasks.yml +++ /dev/null @@ -1,565 +0,0 @@ -tasks: - - name: check - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: check - - - name: test - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: test - vars: - debug: 'hadron*,mongo*' - - - name: test-electron - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: test-electron - vars: - debug: 'hadron*,mongo*' - - - name: test-connectivity - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: clone - - func: test-connectivity - vars: - debug: 'compass*,electron*,hadron*,mongo*' - - - name: test-csfle - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: test-csfle - vars: - debug: 'compass*,electron*,hadron*,mongo*' - - - name: e2e-coverage - tags: ['run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: e2e-coverage - vars: - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: generate-vulnerability-report - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - - func: generate-vulnerability-report - vars: - debug: 'compass*,electron*,hadron*,mongo*' - - # Publish happens in one go to make sure we are not creating multiple github - # releases in parallel - - name: publish - # Does a dry-run: doesn't actually publishes, but checks that all files - # exist and we are not trying to do a "broken" publish - tags: ['run-on-pr'] - depends_on: - - name: '.required-for-publish' - variant: '*' - commands: - - func: prepare - - func: install - - func: bootstrap - vars: - scope: mongodb-compass - - func: get-all-artifacts - - func: publish - - - name: publish-packages-next - tags: [] - depends_on: - - name: '.required-for-publish' - variant: '*' - commands: - - func: prepare - - func: install - - func: bootstrap - - func: publish-packages-next - - name: publish-dev-release-info - tags: [] - depends_on: - - name: 'publish' - variant: '*' - commands: - - func: prepare - - func: publish-dev-release-info - - - name: package-compass - tags: ['required-for-publish', 'run-on-pr', 'package-task'] - commands: - - func: prepare - - func: install - - func: bootstrap - vars: - scope: '@mongodb-js/webpack-config-compass' - - func: apply-compass-target-expansion - vars: - compass_distribution: compass - - func: spawn-signing-server - - func: package - vars: - debug: 'hadron*,mongo*,compass*,electron*,sign*' - compass_distribution: compass - - func: verify-artifacts - - func: save-all-artifacts - vars: - compass_distribution: compass - - - name: package-compass-readonly - tags: ['required-for-publish', 'run-on-pr', 'package-task'] - commands: - - func: prepare - - func: install - - func: bootstrap - vars: - scope: '@mongodb-js/webpack-config-compass' - - func: apply-compass-target-expansion - vars: - compass_distribution: compass-readonly - - func: spawn-signing-server - - func: package - vars: - debug: 'hadron*,mongo*,compass*,electron*,sign*' - compass_distribution: compass-readonly - - func: verify-artifacts - - func: save-all-artifacts - vars: - compass_distribution: compass-readonly - - - name: package-compass-isolated - tags: ['required-for-publish', 'run-on-pr', 'package-task'] - commands: - - func: prepare - - func: install - - func: bootstrap - vars: - scope: '@mongodb-js/webpack-config-compass' - - func: apply-compass-target-expansion - vars: - compass_distribution: compass-isolated - - func: spawn-signing-server - - func: package - vars: - debug: 'hadron*,mongo*,compass*,electron*,sign*' - compass_distribution: compass-isolated - - func: verify-artifacts - - func: save-all-artifacts - vars: - compass_distribution: compass-isolated - - - - name: test-packaged-app-40x-community - tags: ['required-for-publish', 'run-on-pr'] - 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: '4.0.x' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-40x-enterprise - tags: ['required-for-publish', 'run-on-pr'] - 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: '4.0.x-enterprise' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-42x-community - tags: ['required-for-publish', 'run-on-pr'] - 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: '4.2.x' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-42x-enterprise - tags: ['required-for-publish', 'run-on-pr'] - 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: '4.2.x-enterprise' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-44x-community - tags: ['required-for-publish', 'run-on-pr'] - 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: '4.4.x' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-44x-enterprise - tags: ['required-for-publish', 'run-on-pr'] - 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: '4.4.x-enterprise' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-5x-community - tags: ['required-for-publish', 'run-on-pr'] - 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: '5.x.x' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-5x-enterprise - tags: ['required-for-publish', 'run-on-pr'] - 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: '5.x.x-enterprise' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-60x-community - tags: ['required-for-publish', 'run-on-pr'] - 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: '6.0.x' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-60x-enterprise - tags: ['required-for-publish', 'run-on-pr'] - 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: '6.0.x-enterprise' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-70x-community - tags: ['required-for-publish', 'run-on-pr'] - 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: '7.0.x' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-70x-enterprise - tags: ['required-for-publish', 'run-on-pr'] - 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: '7.0.x-enterprise' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-80x-community - tags: ['required-for-publish', 'run-on-pr'] - 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.0-rc4' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-80x-enterprise - tags: ['required-for-publish', 'run-on-pr'] - 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.0-rc4-enterprise' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-packaged-app-latest - tags: ['required-for-publish', 'run-on-pr'] - 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: 'latest-alpha-enterprise' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - - name: test-web-sandbox-chrome - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - vars: - scope: 'compass-e2e-tests' - - func: apply-compass-target-expansion - vars: - compass_distribution: compass - - func: test-web-sandbox - vars: - mongodb_version: 'latest-alpha-enterprise' - browser_name: 'chrome' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: test-web-sandbox-firefox - tags: ['required-for-publish', 'run-on-pr'] - commands: - - func: prepare - - func: install - - func: bootstrap - vars: - scope: 'compass-e2e-tests' - - func: apply-compass-target-expansion - vars: - compass_distribution: compass - - func: test-web-sandbox - vars: - mongodb_version: 'latest-alpha-enterprise' - browser_name: 'firefox' - compass_distribution: compass - debug: 'compass-e2e-tests*,electron*,hadron*,mongo*' - - - name: create_static_analysis_report - tags: ['required-for-publish', 'run-on-pr'] - depends_on: - - name: ".package-task" - variant: "*" - commands: - - func: prepare - - func: install - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-ubuntu.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-windows.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-macos.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-macos-arm.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-readonly-ubuntu.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-readonly-windows.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-readonly-macos.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-readonly-macos-arm.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-isolated-ubuntu.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-isolated-windows.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-isolated-macos.json - - - func: get_first_party_dependency_list - vars: - filename: first-party-deps-compass-isolated-macos-arm.json - - - func: create_static_analysis_report - vars: - first_party_dependency_filenames: .sbom/first-party-deps-compass-ubuntu.json,.sbom/first-party-deps-compass-windows.json,.sbom/first-party-deps-compass-macos.json,.sbom/first-party-deps-compass-macos-arm.json,.sbom/first-party-deps-compass-readonly-ubuntu.json,.sbom/first-party-deps-compass-readonly-windows.json,.sbom/first-party-deps-compass-readonly-macos.json,.sbom/first-party-deps-compass-readonly-macos-arm.json,.sbom/first-party-deps-compass-isolated-ubuntu.json,.sbom/first-party-deps-compass-isolated-windows.json,.sbom/first-party-deps-compass-isolated-macos.json,.sbom/first-party-deps-compass-isolated-macos-arm.json diff --git a/.evergreen/template-yml.js b/.evergreen/template-yml.js index 0da059c04dd..b10c5c3d845 100755 --- a/.evergreen/template-yml.js +++ b/.evergreen/template-yml.js @@ -1,142 +1,18 @@ -#! /usr/bin/env node -'use strict'; const fs = require('fs'); +const _ = require('lodash'); +const yaml = require('js-yaml'); const path = require('path'); -const config = require('./config.json'); +function renderTemplate(srcFile, destFile) { + const template = fs.readFileSync(srcFile, 'utf8'); + const compile = _.template(template); + const result = `# This file has been generated. Do not edit this file directly. +# Edit ${path.basename(srcFile)} instead. +${yaml.dump(yaml.load(compile({})))}`; -function template(input) { - // PHP-like syntax, except it's JS. - // foo: <% for (let i = 0; i < 10; i++) { %> - // - index: <% out(i) %> - // <% } %> - // is turned into a YAML list with index: 0, index: 1 etc. - - let asJs = `(function() { let result = ""; - const out = (val) => result += (typeof val === 'object' && val !== null) ? JSON.stringify(val) : val;`; - let i = 0; - while (i < input.length) { - const opening = input.indexOf('<%', i); - if (opening === -1) { - asJs += `out(${JSON.stringify(input.slice(i))});\n`; - break; - } - asJs += `out(${JSON.stringify(input.slice(i, opening))});\n`; - const closing = input.indexOf('%>', opening + 2); - if (closing === -1) break; - asJs += input.slice(opening + 2, closing) + ';\n'; - - i = closing + 2; - } - asJs += '; return result; })()'; - return eval(asJs); -} - -function generateBuildVariantTask( - taskName, - taskOptions, - variantOptions, - defaultRunOn, - runOnOptions -) { - const task = { name: taskName }; - const guiMachine = runOnOptions.gui ?? defaultRunOn; - if (taskOptions.depends_on) { - task.depends_on = taskOptions.depends_on; - } - if (taskOptions.gui && guiMachine !== defaultRunOn) { - task.run_on = guiMachine; - } - if (variantOptions.run_on_override?.[task.run_on ?? defaultRunOn]) { - task.run_on = variantOptions.run_on_override[task.run_on ?? defaultRunOn]; - } - return task; + fs.writeFileSync(destFile, result); } -function generateBuildVariants() { - const variants = []; - - for (const runOn of config.variants.run_on) { - const [runOnName, runOnOptions = {}] = Array.isArray(runOn) - ? runOn - : [runOn]; - - const variant = { - name: config.run_on_alias.short[runOnName], - display_name: config.run_on_alias.long[runOnName], - run_on: runOnName, - tasks: config.variants.tasks.flatMap((task) => { - const [taskName, taskOptions = {}] = Array.isArray(task) - ? task - : [task]; - - if (taskOptions.skip_on && taskOptions.skip_on.includes(runOnName)) { - return []; - } - - if (config.tasks.variants[taskName]) { - return config.tasks.variants[taskName] - .filter((variantOptions) => { - return !variantOptions.skip_on?.includes(runOnName); - }) - .map((variantOptions) => { - return generateBuildVariantTask( - `${taskName}-${variantOptions.name}`, - taskOptions, - variantOptions, - runOnName, - runOnOptions - ); - }); - } - - return generateBuildVariantTask( - taskName, - taskOptions, - {}, - runOnName, - runOnOptions - ); - }) - }; - - variants.push(variant); - } - - return variants; -} - -function generateTasks() { - const tasks = {}; - - for (const [taskName, taskVariants] of Object.entries( - config.tasks.variants - )) { - for (const taskVariant of taskVariants) { - const task = { - name: `${taskName}-${taskVariant.name}`, - vars: taskVariant.vars - }; - - tasks[taskName] ??= []; - tasks[taskName].push(task); - } - } - - return tasks; -} - -const buildVariants = generateBuildVariants(); -const tasks = generateTasks(); - -const inputs = process.argv[2] - ? [process.argv[2]] - : [ - path.resolve(__dirname, 'buildvariants.in.yml'), - path.resolve(__dirname, 'tasks.in.yml') - ]; - -for (const inputPath of inputs) { - const input = fs.readFileSync(inputPath, 'utf8'); - fs.writeFileSync(inputPath.replace(/\.in\.yml$/, '.yml'), template(input)); -} +const templateFile = path.join(__dirname, 'buildvariants-and-tasks.in.yml'); +const destFile = path.join(__dirname, 'buildvariants-and-tasks.yml'); +renderTemplate(templateFile, destFile); diff --git a/package-lock.json b/package-lock.json index d0c1b138fef..cbd6afc0f71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,9 @@ "@testing-library/dom": "^8.20.1", "babel-loader": "^7.1.5", "husky": "^8.0.3", + "js-yaml": "^4.1.0", "lerna": "^7.1.5", + "lodash": "^4.17.21", "node-gyp": "^8.4.1" }, "engines": { @@ -4586,6 +4588,15 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.16.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", @@ -4610,6 +4621,19 @@ "node": ">= 4" } }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -4781,6 +4805,15 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -4794,6 +4827,19 @@ "node": ">=8" } }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -6085,12 +6131,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/@lerna/create/node_modules/cacache": { "version": "17.1.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", @@ -6394,18 +6434,6 @@ "node": ">=10" } }, - "node_modules/@lerna/create/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@lerna/create/node_modules/json-parse-even-better-errors": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", @@ -14396,6 +14424,28 @@ "node": ">=14.15.0" } }, + "node_modules/@yarnpkg/parsers/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@yarnpkg/parsers/node_modules/tslib": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", @@ -14414,12 +14464,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@zkochan/js-yaml/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/7zip": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/7zip/-/7zip-0.0.6.tgz", @@ -15558,12 +15602,9 @@ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/argv-formatter": { "version": "1.0.0", @@ -19700,6 +19741,15 @@ "node": ">=10" } }, + "node_modules/depcheck/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/depcheck/node_modules/camelcase": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", @@ -19712,6 +19762,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/depcheck/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/depcheck/node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -21774,6 +21837,15 @@ "node": ">=4" } }, + "node_modules/eslint-config-mongodb-js/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/eslint-config-mongodb-js/node_modules/babel-eslint": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", @@ -22066,6 +22138,19 @@ "node": ">=4" } }, + "node_modules/eslint-config-mongodb-js/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/eslint-config-mongodb-js/node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -22925,6 +23010,15 @@ "node": ">=8" } }, + "node_modules/eslint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -22961,6 +23055,19 @@ "node": ">= 4" } }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/eslint/node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -27633,12 +27740,11 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -28766,12 +28872,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/lerna/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/lerna/node_modules/cacache": { "version": "17.1.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", @@ -29075,18 +29175,6 @@ "node": ">=10" } }, - "node_modules/lerna/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/lerna/node_modules/json-parse-even-better-errors": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", @@ -31602,12 +31690,6 @@ "url": "https://opencollective.com/mochajs" } }, - "node_modules/mocha/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/mocha/node_modules/diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -31661,18 +31743,6 @@ "node": "*" } }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/mocha/node_modules/minimatch": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", @@ -32413,12 +32483,6 @@ "node": ">=8" } }, - "node_modules/mongodb-schema/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "optional": true - }, "node_modules/mongodb-schema/node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -32433,18 +32497,6 @@ "node": ">=12" } }, - "node_modules/mongodb-schema/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "optional": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/mongodb-schema/node_modules/numeral": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", @@ -33544,12 +33596,6 @@ "node": ">=8" } }, - "node_modules/nx/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/nx/node_modules/axios": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", @@ -33646,18 +33692,6 @@ "node": "*" } }, - "node_modules/nx/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/nx/node_modules/lines-and-columns": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", @@ -39701,6 +39735,28 @@ "snyk-try-require": "^2.0.2" } }, + "node_modules/snyk-policy/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/snyk-policy/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/snyk-resolve": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.1.0.tgz", @@ -40059,7 +40115,7 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/ssh2": { "version": "1.15.0", @@ -43850,6 +43906,26 @@ "mocha": "^10.2.0" } }, + "packages/bson-transpilers/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "packages/bson-transpilers/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "packages/collection-model": { "name": "mongodb-collection-model", "version": "5.20.1", @@ -45947,22 +46023,6 @@ "sinon": "^9.2.3" } }, - "packages/compass-preferences-model/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "packages/compass-preferences-model/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "packages/compass-preferences-model/node_modules/sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -48099,11 +48159,6 @@ "node": ">=4" } }, - "packages/hadron-build/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, "packages/hadron-build/node_modules/camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", @@ -48417,17 +48472,6 @@ "node": ">=0.10.0" } }, - "packages/hadron-build/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "packages/hadron-build/node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -53087,6 +53131,15 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "globals": { "version": "13.16.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", @@ -53102,6 +53155,16 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -53229,6 +53292,15 @@ "resolve-from": "^5.0.0" }, "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -53239,6 +53311,16 @@ "path-exists": "^4.0.0" } }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -54318,12 +54400,6 @@ "readable-stream": "^3.6.0" } }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "cacache": { "version": "17.1.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", @@ -54551,15 +54627,6 @@ } } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, "json-parse-even-better-errors": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", @@ -64537,6 +64604,25 @@ "tslib": "^2.4.0" }, "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "tslib": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", @@ -64552,14 +64638,6 @@ "dev": true, "requires": { "argparse": "^2.0.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - } } }, "7zip": { @@ -65553,12 +65631,9 @@ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "argv-formatter": { "version": "1.0.0", @@ -66586,6 +66661,25 @@ "eslint": "^7.25.0", "js-yaml": "^3.13.1", "mocha": "^10.2.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } } }, "buffer": { @@ -67541,19 +67635,6 @@ "zod": "^3.22.3" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, "sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -69040,12 +69121,31 @@ "yargs": "^16.1.0" }, "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "camelcase": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -70684,6 +70784,15 @@ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -70705,6 +70814,16 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -70761,6 +70880,15 @@ "color-convert": "^1.9.0" } }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "babel-eslint": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", @@ -70997,6 +71125,16 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -73685,11 +73823,6 @@ "color-convert": "^1.9.0" } }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", @@ -73948,14 +74081,6 @@ "number-is-nan": "^1.0.0" } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -75979,12 +76104,11 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" } }, "jsbn": { @@ -76894,12 +77018,6 @@ "readable-stream": "^3.6.0" } }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "cacache": { "version": "17.1.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", @@ -77127,15 +77245,6 @@ } } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, "json-parse-even-better-errors": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", @@ -79252,12 +79361,6 @@ "yargs-unparser": "2.0.0" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -79295,15 +79398,6 @@ } } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, "minimatch": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", @@ -80132,12 +80226,6 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "optional": true }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "optional": true - }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -80149,15 +80237,6 @@ "wrap-ansi": "^7.0.0" } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "optional": true, - "requires": { - "argparse": "^2.0.1" - } - }, "numeral": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", @@ -81007,12 +81086,6 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "axios": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", @@ -81088,15 +81161,6 @@ "path-is-absolute": "^1.0.0" } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, "lines-and-columns": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", @@ -85686,6 +85750,27 @@ "snyk-module": "^3.0.0", "snyk-resolve": "^1.1.0", "snyk-try-require": "^2.0.2" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } } }, "snyk-resolve": { @@ -85993,7 +86078,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "ssh2": { "version": "1.15.0", diff --git a/package.json b/package.json index d2a62ca74a3..2ac4552056a 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "where": "monorepo-where", "create-workspace": "node ./scripts/create-workspace.js", "update-evergreen-config": "node .evergreen/template-yml.js", + "postupdate-evergreen-config": "evergreen validate .evergreen.yml", "update-security-test-summary": "ts-node scripts/generate-security-test-summary.ts > docs/security-test-summary.md", "version-packages-next": "npx lerna version \"0.0.0-next-$(git rev-parse HEAD)\" --exact --private --no-git-tag-version --force-publish --no-push --yes", "publish-packages-next": "npx lerna publish from-package --no-private --dist-tag next --pre-dist-tag next --yes", @@ -71,7 +72,9 @@ "@testing-library/dom": "^8.20.1", "babel-loader": "^7.1.5", "husky": "^8.0.3", + "js-yaml":"^4.1.0", "lerna": "^7.1.5", + "lodash": "^4.17.21", "node-gyp": "^8.4.1" }, "engines": { diff --git a/packages/compass-web/src/entrypoint.spec.tsx b/packages/compass-web/src/entrypoint.spec.tsx index 0136cc9ee3c..53df376b50f 100644 --- a/packages/compass-web/src/entrypoint.spec.tsx +++ b/packages/compass-web/src/entrypoint.spec.tsx @@ -48,7 +48,7 @@ describe('CompassWeb', function () { before(function () { // TODO(COMPASS-7551): for some reason, specifically evergreen rhel machine can't // fully render this component, skipping for now - if (process.env.EVERGREEN_BUILD_VARIANT === 'rhel') { + if (process.env.IS_RHEL === 'true') { this.skip(); } }); diff --git a/packages/hadron-build/lib/target.js b/packages/hadron-build/lib/target.js index e97a66cc388..77ccd01074c 100644 --- a/packages/hadron-build/lib/target.js +++ b/packages/hadron-build/lib/target.js @@ -233,7 +233,7 @@ class Target { this.app_archive_name = this.osx_zip_filename || this.windows_zip_filename || - (process.env.EVERGREEN_BUILD_VARIANT === 'rhel' + (process.env.IS_RHEL === 'true' ? this.rhel_tar_filename : this.linux_tar_filename); } diff --git a/packages/hadron-build/test/signtool.test.js b/packages/hadron-build/test/signtool.test.js index ad89738e348..c3a4e04f615 100644 --- a/packages/hadron-build/test/signtool.test.js +++ b/packages/hadron-build/test/signtool.test.js @@ -49,10 +49,7 @@ describe('hadron-build::signtool', () => { }); it('signs windows exe remotely using jsign', async() => { - const initialPlatform = process.env.EVERGREEN_BUILD_VARIANT; - process.env.EVERGREEN_BUILD_VARIANT = 'windows'; await sign('test/fixtures/foo.exe', garasign); - expect(garasign.calledOnce).to.be.true; expect(garasign.firstCall.args).to.deep.equal(['test/fixtures/foo.exe', { client: 'remote', @@ -63,11 +60,9 @@ describe('hadron-build::signtool', () => { privateKey: undefined, username: undefined, }]); - setEnvVars({EVERGREEN_BUILD_VARIANT: initialPlatform}); }); it('signs windows msi remotely using jsign', async() => { - process.env.EVERGREEN_BUILD_VARIANT = 'windows'; await sign('test/fixtures/foo.msi', garasign); expect(garasign.calledOnce).to.be.true;