Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(ci): test on windows [master] #2633

Merged
merged 12 commits into from
Dec 21, 2020

Conversation

emadum
Copy link
Contributor

@emadum emadum commented Nov 24, 2020

Description

Run the test suite on Windows in Evergreen for the master branch. Port of #2634.

patch build

NODE-1458

What changed?

  • .evergreen/install-dependencies.sh was updated to use nvm-windows instead of nvm when running in Windows environments
  • only the unit and functional tests are run on Windows, manual tests may take a fair amount of work to get working and should be enabled on Windows as needed in future PRs.
  • skips domain socket related tests on Windows via the os: '!win32' metadata directive.
  • adds colors to test output in Evergreen logs 🌈
  • silences some helper tasks in Evergreen to reduce log clutter 🏎️
  • skips CI for changes to .md files 🏎️
  • adds 60 second timeout to test run. 🏎️
    currently, when a test run leaks resources it sits idle until reaching our 15 minute global evergreen task timeout and being killed. This PR adds a 60 second per-task idle timeout to the driver test run on evergreen, so if a test run finishes after 5 minutes but leaks resources, the task will finish due to the idle timeout in 6 minutes rather than 15 minutes.

Are there any files to ignore?

@emadum emadum changed the title chore(ci): test on windows chore(ci): test on windows [master] Nov 24, 2020
@emadum emadum marked this pull request as ready for review November 28, 2020 22:18
@emadum emadum marked this pull request as draft December 4, 2020 18:02
@emadum emadum marked this pull request as ready for review December 10, 2020 19:02

const BUILD_VARIANTS = [];

const getTaskList = (() => {
const memo = {};
return function(mongoVersion) {
const key = mongoVersion;
return function (mongoVersion, onlyFullSuite = false) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought we removed the full-suite tag in the 3.6 PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops I missed porting that over, thanks!

@@ -12,6 +12,7 @@ set -o errexit # Exit the script with error if any of the commands fail
AUTH=${AUTH:-noauth}
UNIFIED=${UNIFIED:-}
MONGODB_URI=${MONGODB_URI:-}
TEST_NPM_SCRIPT="check:test"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: do you actually use this variable anywhere? It doesn't look like its ever overridden.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I missed porting over a few changes from 3.6, done now. Sorry about the confusion!

This variable isn't strictly necessary; it is (now) used by the NO_EXIT flag logic, but that logic could easily be moved to the bottom where the npm script is executed.


# NOTE: registry was overridden to not use artifactory, remove the `registry` line when
# BUILD-6774 is resolved.

# install node dependencies
npm install --unsafe-perm
if [[ "$SKIP_INSTALL" == "1" ]]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if [[ "$SKIP_INSTALL" == "1" ]]; then
if [[ "$SKIP_NPM_INSTALL" == "1" ]]; then

nit: this is a file called "install dependencies", I would think a variable called SKIP_INSTALL would "skip installing dependencies", but it really means "skip npm install"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also missed bringing the latest update here over from 3.6, it now accepts a SKIP_DEPS flag which works the way you'd think.

Copy link
Member

@mbroadst mbroadst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@emadum emadum merged commit b7f2385 into master Dec 21, 2020
@emadum emadum deleted the NODE-1458/master/support-windows-evergreen branch December 21, 2020 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants