Skip to content

Ideas for speeding up and including flakey tests in PR #14265

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

Merged
merged 13 commits into from
Oct 6, 2020
Merged

Conversation

rchiodo
Copy link

@rchiodo rchiodo commented Oct 5, 2020

This should hopefully make tests run fast enough to run on a PR.

It does this:

  • Runs each test file in a parallel
  • Splits the functional tests into four groups and runs those in parallel on four separate jobs

Some preliminary timing

  • Normal functional run on my box (without any splitting) - 15 minutes
  • Functional run with each file running as separate process - 11 minutes

That was without Jupyter though. This PR should try the same thing with Jupyter

  • Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
  • Title summarizes what is changing.
  • Has a news entry file (remember to thank yourself!).
  • Appropriate comments and documentation strings in the code.
  • Has sufficient logging.
  • Has telemetry for enhancements.
  • Unit tests & system/integration tests are added/updated.
  • Test plan is updated as appropriate.
  • package-lock.json has been regenerated by running npm install (if dependencies have changed).
  • The wiki is updated with any design decisions/details.

@codecov-commenter
Copy link

codecov-commenter commented Oct 5, 2020

Codecov Report

Merging #14265 into main will decrease coverage by 0.02%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #14265      +/-   ##
==========================================
- Coverage   59.96%   59.94%   -0.03%     
==========================================
  Files         706      706              
  Lines       39180    39180              
  Branches     5681     5681              
==========================================
- Hits        23494    23485       -9     
- Misses      14449    14455       +6     
- Partials     1237     1240       +3     
Impacted Files Coverage Δ
...very/locators/services/virtualenvwrapperLocator.ts 76.92% <0.00%> (-15.39%) ⬇️
src/client/common/utils/platform.ts 60.00% <0.00%> (-12.00%) ⬇️
.../pythonEnvironments/common/externalDependencies.ts 57.57% <0.00%> (-3.04%) ⬇️
src/client/linters/pydocstyle.ts 86.66% <0.00%> (-2.23%) ⬇️
src/client/datascience/debugLocationTracker.ts 76.56% <0.00%> (-1.57%) ⬇️
src/client/common/process/proc.ts 14.49% <0.00%> (-0.73%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ef44f29...72836e1. Read the comment docs.

@rchiodo rchiodo added the no-changelog No news entry required label Oct 5, 2020
@rchiodo rchiodo closed this Oct 6, 2020
@rchiodo rchiodo reopened this Oct 6, 2020
@rchiodo rchiodo marked this pull request as ready for review October 6, 2020 15:53
@rchiodo
Copy link
Author

rchiodo commented Oct 6, 2020

I can't get Azdo to run again. Uggh.

on:
pull_request:
branches:
- main

Choose a reason for hiding this comment

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

Weed can optionally run this same workflow in ci (commits to main),
This way we have three running on main branch for every commit, and we don't need to copy paste this (just a thought, copy paste sux)

Copy link
Author

Choose a reason for hiding this comment

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

I believe that's a 'push' right? Added that.

@rchiodo
Copy link
Author

rchiodo commented Oct 6, 2020

@karthiknadig we're splitting our DS functional tests out into github actions. This is so we can make them run faster and run with real juptyer during a PR. RIght now they won't be required, but this is the first step in the split.

Thought you might want to know since they'll be running on core submissions too. Although I think I can prevent that with an inclusion list?

@rchiodo
Copy link
Author

rchiodo commented Oct 6, 2020

Woot! It worked. 23 minutes for the longest one now. That's the native editor tests.

@codecov-io
Copy link

codecov-io commented Oct 6, 2020

Codecov Report

❗ No coverage uploaded for pull request base (main@ef44f29). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #14265   +/-   ##
=======================================
  Coverage        ?   59.94%           
=======================================
  Files           ?      706           
  Lines           ?    39180           
  Branches        ?     5681           
=======================================
  Hits            ?    23485           
  Misses          ?    14455           
  Partials        ?     1240           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ef44f29...217de7b. Read the comment docs.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Oct 6, 2020

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities (and Security Hotspot 0 Security Hotspots to review)
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@rchiodo rchiodo merged commit bbcfaa0 into main Oct 6, 2020
@rchiodo rchiodo deleted the rchiodo/fast_flake branch October 6, 2020 23:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-changelog No news entry required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants