question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Integration testing for downstream dependencies

See original GitHub issue

We need a new Continuous Integration configuration to launch the tests of some popular downstream projects.

Candidate projects:

  • xgboost and or lightgbm as very popular third party libraries
  • skorch
  • imbalanced-learn not necessarily as popular as others but with high use of sklearn’s API
  • autosklearn?
  • any other suggestion?

Those test would not be run in PRs unless we use a specific tag in the commit message for instance. This test setup would be run by maintainers in the release branches.

We do something similar in the cloudpickle project with the [ci downstream] commit tag:

https://github.com/cloudpipe/cloudpickle/blob/master/.travis.yml#L37-L70

For scikit-learn this would probably need a bit more scripting as the build is more complex than for a pure python project such as cloudpickle but the general idea would be the same.

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:12 (12 by maintainers)

github_iconTop GitHub Comments

2reactions
jnothmancommented, Dec 31, 2019

Frankly the downstream packages should be doing this integration testing by testing various use cases and checking with scikit-learn master. We should be encouraging downstream packages to include such integration tests (e.g. various usages of their estimators with grid search).

But it’s reasonable that we at least run a suite of integration tests as part of a release cycle. Putting this in Azure makes it easier for our maintainers.

I don’t mind if we also run a Cron job but then we will have to deal with more false alarms (e.g. downstream test suites failing due to poor or delayed management of their other dependencies).

1reaction
glemaitrecommented, Aug 30, 2021

I think that we can address the following when we have a more granular check_estimator to be sure that we are testing the right things for these third-party libraries. xref: https://github.com/scikit-learn/scikit-learn/issues/16241

Read more comments on GitHub >

github_iconTop Results From Across the Web

Integration Testing: What is, Types with Example - Guru99
Integration Testing is defined as a type of testing where software modules are integrated logically and tested as a group.
Read more >
Mocking Dependencies on Component Testing
A technical primer on using the Cohn version of the Testing Pyramid on a microservices architecture, with code examples to help.
Read more >
6 best practices for integration testing with continuous ...
How integration testing works with CI and DevOps · Run integration tests until something fails · Determine what needs to be added or...
Read more >
See Upstream and Downstream Dependencies During an ...
To see incident statuses of your service's upstream and downstream dependencies, click the service in the Service Catalog, and in the service details...
Read more >
The do's and don'ts of integration testing | syrett.blog
Because integration tests often use fake or nonsensical data, tests on one application can often lead to unanticipated errors in downstream ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found