Skip to content

Pin nbconvert version for CI#9341

Closed
mtreinish wants to merge 6 commits intoQiskit:mainfrom
mtreinish:pin-ipykernel
Closed

Pin nbconvert version for CI#9341
mtreinish wants to merge 6 commits intoQiskit:mainfrom
mtreinish:pin-ipykernel

Conversation

@mtreinish
Copy link
Copy Markdown
Member

@mtreinish mtreinish commented Jan 4, 2023

Summary

Since late December we've started seeing frequent job timeouts in the docs builds when it's running jupyter-execute cells as part of the docs builds. Looking at likely causes there were several package releases around that time (as well as a new ubuntu version which was ruled out as the root cause in #9340) In attempt to debug and potentially prevent this (in the short term) failure mode this commit pins dependencies to try and reproduce the failure and see if we can avoid the
stuck docs build by holding back a dependency version.

Details and comments

@mtreinish mtreinish requested a review from a team as a code owner January 4, 2023 14:14
@qiskit-bot
Copy link
Copy Markdown
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the the following people are requested to review this:

  • @Qiskit/terra-core

Since late December we've started seeing frequent job timeouts in the
docs builds when it's running jupyter-execute cells as part of the docs
builds. Looking at likely causes there were several package releases
around that time (as well as a new ubuntu version which was ruled out as
the root cause in Qiskit#9340) In attempt to debug and potentially prevent this
(in the short term) failure mode this commit pins the version of
ipykernel which is a likely potential cause of the failure. We can use
this commit to test CI to see if the timeouts are reproducible and if we
do not encounter the docs job timeout after multiple attempts we can
merge this to hopefully prevent it in CI.
@coveralls
Copy link
Copy Markdown

coveralls commented Jan 4, 2023

Pull Request Test Coverage Report for Build 3846730700

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 2 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+0.04%) to 84.643%

Files with Coverage Reduction New Missed Lines %
src/sabre_swap/layer.rs 2 98.95%
Totals Coverage Status
Change from base Build 3823792673: 0.04%
Covered Lines: 64174
Relevant Lines: 75817

💛 - Coveralls

It looks like the numpy pin fixes this, so lets revert the ipykernel
version cap and see if running with just a pinned numpy is enough to
fix this.

This reverts commit 6538ded.
@mtreinish mtreinish changed the title Pin ipykernel version in CI Pin numpy version for CI Jan 4, 2023
@mtreinish mtreinish added the Changelog: None Do not include in the GitHub Release changelog. label Jan 4, 2023
@mtreinish mtreinish modified the milestone: 0.23.0 Jan 4, 2023
@mtreinish
Copy link
Copy Markdown
Member Author

Sigh, it looks like pinning numpy didn't fix this either. Since #9340 ruled out the move to ubuntu 22.04 this PR has confirmed that numpy and ipykernel releases didn't fix this. Since this failure mode was first reported on the Dec 22nd looking at releases of dependencies before then there are two likely candidates left, ipywidgets ( 8.0.4 which was released 2022-12-22) and less likely but still probable is importlib-metadata (5.2.0 was released 2022-12-18). Lets try pinning those (in that order) and see if we can reproduce the docs build hang.

@mtreinish
Copy link
Copy Markdown
Member Author

Oh, we already have ipywidgets pinned to < 8.0.3 so it probably won't be that (unless we're getting a weird cross interaction between old ipywidgets and something else).

Pinning numpy didn't do the trick either. But looking at the full
dependency tree (not just direct dependencies) the full jupyter stack
released around the time the failure started. This commit pins nbconvert
which is the most directly involved jupyter package for the
jupyter-execute sphinx extension. If this doesn't work I will try
unpibning ipywidgets and jupyter-core and suppressing the deprecation
warnings about seaborn (if they still are an issue) to see if are
partial jupyter stack pinning is the source of the hang.
@mtreinish mtreinish changed the title Pin numpy version for CI Pin nbconvert version for CI Jan 4, 2023
@mtreinish
Copy link
Copy Markdown
Member Author

So I forgot to run my script on the full dependency tree and was just running it on the direct dependencies. There were more packages released in the rough time frame that are involved in jupyter sphinx which are 2nd or 3rd level requirements. Primarily the full jupyter stack released and any of those packages are possible causes here. I've pinned nbconvert as a a new attempt to see if we can reproduce the failure. If this doesn't work I'll try removing our existing jupyter stack pins to see if there is an incompatibility between versions (since I expect given the number of packages jupyter only tests the latest versions all at once).

1ucian0
1ucian0 previously approved these changes Jan 4, 2023
@mtreinish
Copy link
Copy Markdown
Member Author

Superseded by #9346

@mtreinish mtreinish closed this Jan 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changelog: None Do not include in the GitHub Release changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants