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

Clean up log messages, flaky tests on Windows #1183

Merged
merged 4 commits into from
Oct 6, 2023

Conversation

bollwyvl
Copy link
Collaborator

@bollwyvl bollwyvl commented Sep 29, 2023

References

  • from reviewing recent PRs

Code changes

  • bump to pytest-console-scripts 1.4.0
    • update invocations to get rid of pytest warnings
  • clean up yarn install noise about cache/rebuild
  • run linter
  • don't test rebuild timing on windows (flaky)

User-facing changes

  • build logs should be easier to review

Backwards-incompatible changes

  • n/a

@bollwyvl bollwyvl changed the title clean up logs, linting Clean up log messages Sep 29, 2023
@github-actions
Copy link
Contributor

lite-badge 👈 Try it on ReadTheDocs

@bollwyvl bollwyvl marked this pull request as draft September 29, 2023 18:26
@bollwyvl
Copy link
Collaborator Author

I'm not going to lie: having to dig around for multiple slow lint subcommands vs doit -n8 lint makes me kinda sad.

@bollwyvl bollwyvl changed the title Clean up log messages Clean up log messages, flaky tests on Windows Sep 29, 2023
@bollwyvl bollwyvl marked this pull request as ready for review September 29, 2023 19:20
@bollwyvl
Copy link
Collaborator Author

The RTD setup is down to fits-on-a-page.

The YN0057 are potentially concerning as the resolutions are... pretty important. But if they aren't we could hide those too.

We could hide the YN0002, as this repo doesn't do any peerDependencies, and we likely can't control those upstreams' behavior, .

home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/checkouts/1183/.binder/environment.yml is not available (this might not be a problem)
/home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/checkouts/1183/tsconfig.typedoc.json is not available (this might not be a problem)
/home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/checkouts/1183/docs/reference/api/ts is not available (this might not be a problem)
/home/docs/checkouts/readthedocs.org/user_builds/jupyterlite/checkouts/1183/app/lab/package.json is not available (this might not be a problem)
.  setup:js
➤ YN0000: ┌ Project validation
➤ YN0057: │ @jupyterlite/app-consoles: Resolutions field will be ignored
➤ YN0057: │ @jupyterlite/app-edit: Resolutions field will be ignored
➤ YN0057: │ @jupyterlite/app-lab: Resolutions field will be ignored
➤ YN0057: │ @jupyterlite/app-notebooks: Resolutions field will be ignored
➤ YN0057: │ @jupyterlite/app-repl: Resolutions field will be ignored
➤ YN0057: │ @jupyterlite/app-tree: Resolutions field will be ignored
➤ YN0000: └ Completed
➤ YN0000: ┌ Resolution step
➤ YN0002: │ @jupyter-notebook/application-extension@npm:7.0.4 doesn't provide react (pd1d30), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyter-notebook/tree-extension@npm:7.0.4 doesn't provide react (pda5be), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyter-notebook/tree@npm:7.0.4 doesn't provide react (p13093), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/cell-toolbar-extension@npm:4.0.6 doesn't provide react (p28e01), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/console-extension@npm:4.0.6 doesn't provide react (p2a330), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/csvviewer-extension@npm:4.0.6 doesn't provide react (p1ecaa), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/documentsearch-extension@npm:4.0.6 doesn't provide react (p5c04e), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/filebrowser-extension@npm:4.0.6 doesn't provide react (p09b08), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/fileeditor-extension@npm:4.0.6 doesn't provide react (p013d1), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/htmlviewer-extension@npm:4.0.6 doesn't provide react (p6ebf2), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/json-extension@npm:4.0.6 doesn't provide @types/react (ped1e2), requested by react-json-tree
➤ YN0002: │ @jupyterlab/mainmenu-extension@npm:4.0.6 doesn't provide react (p89fef), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/markdownviewer-extension@npm:4.0.6 doesn't provide react (p33a6d), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/metadataform-extension@npm:4.0.6 doesn't provide react (p3ed02), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/metadataform@npm:4.0.6 doesn't provide @rjsf/utils (pfbdd5), requested by @rjsf/core
➤ YN0002: │ @jupyterlab/metadataform@npm:4.0.6 doesn't provide @rjsf/utils (pe586b), requested by @rjsf/validator-ajv8
➤ YN0002: │ @jupyterlab/services@npm:7.0.6 doesn't provide react (p142a3), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/settingeditor-extension@npm:4.0.6 doesn't provide react (p8a4e8), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/statusbar-extension@npm:4.0.6 doesn't provide react (p9dcb4), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/testutils@npm:4.0.6 doesn't provide typescript (p93aa9), requested by @jupyterlab/testing
➤ YN0002: │ @jupyterlab/toc-extension@npm:6.0.6 doesn't provide react (pe4821), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/translation-extension@npm:4.0.6 doesn't provide react (pc8c81), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlite/server@workspace:packages/server doesn't provide react (p3608c), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlite/settings@workspace:packages/settings doesn't provide react (pea3fe), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlite/ui-components@workspace:packages/ui-components doesn't provide webpack (p1b502), requested by babel-loader
➤ YN0002: │ @lerna/legacy-package-management@npm:6.6.2 doesn't provide nx (pfc6c3), requested by @nrwl/devkit
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed in 0s 793ms
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 1m 43s
➤ YN0000: ┌ Link step
➤ YN0000: └ Completed in 35s 981ms
➤ YN0000: Done with warnings in 2m 20s

@bollwyvl
Copy link
Collaborator Author

Bah, still local network flake... not much we can do about that, i guess...

@@ -4,3 +4,16 @@ enableTelemetry: false
httpTimeout: 60000
nodeLinker: node-modules
npmRegistryServer: 'https://registry.yarnpkg.com'

# logFilters codes described: https://yarnpkg.com/advanced/error-codes
logFilters:
Copy link
Member

Choose a reason for hiding this comment

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

Questions:

  • isn't there a way to properly fix or handle these warning, instead of ignoring them?
  • likely these also happen in the JupyterLab / Notebook repos? If so should we suggest updating the configuration there? So the JupyterLite repo does not do things too differently
  • let's move this yarn config (and the discussion) to a separate PR, so it will be easier to track and find it in the future?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

properly fix or handle these warning

Most (by count in an install) aren't warnings, but rather low-level play-by-play of needing to/downloading/filling the cache. Indeed, it is almost certainly making installs slower even trying to formulate the entries, even if they don't get printed

The warnigns that do remain, and fit on a page (as posted) are potentially worth investigating, which can only be determined by actually showing the log, reading what is says, and recognizing the shape.

happen in the JupyterLab / Notebook repos?

It looks like upstream might relegate the yarn call to inside hatch (inside another, temporary environment), none of which are cached, so that logs only make it out if it full explodes, and maybe not then.

This happens so often, is so slow, and is so noisy, i reckon folk just had to tune it out. But it makes trying to find anything in build logs rather awful. i'm assuming nobody looks unless it fully breaks the build, in which case one is debugging hatch, special non-standard hatch stuff, yarn, lerna, node, etc. all at the same time.

This is also all the more reason to restore the loss of YARN_HISTORY being node_modules/.yarn-state.yml, so that install is called less frequently.

Copy link
Member

Choose a reason for hiding this comment

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

This is also all the more reason to restore the loss of YARN_HISTORY being node_modules/.yarn-state.yml, so that install is called less frequently.

Maybe also worth suggesting upstream?

Copy link
Member

Choose a reason for hiding this comment

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

Pushed a small commit to align the comment with the one in jupyterlab/jupyterlab#15214.

@jtpio jtpio added this to the 0.2.0 milestone Oct 6, 2023
Copy link
Member

@jtpio jtpio left a comment

Choose a reason for hiding this comment

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

Thanks @bollwyvl

@jtpio jtpio merged commit 4c6c763 into jupyterlite:main Oct 6, 2023
20 checks passed
@bollwyvl bollwyvl deleted the clean-up-logs branch October 6, 2023 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants