-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Use docker on CI to speed it up #15916
base: main
Are you sure you want to change the base?
Conversation
Thanks for making a pull request to jupyterlab! |
First test is encouraging, building the docker image took 6minutes then the 3 tests passing took 3min less (-20% to -35%) than the current job. |
ba04b7f
to
8c30068
Compare
Sharding of playwright tests is working well. But of course lots of tests are failing likely because the OS config has changed (we are running in the docker). A good side-effect of this PR will be the ability for dev to update the snapshots locally - meaning I'll keep a workflow for it; but we should advice knowledgeable dev to prefer updating just what is needed locally. |
Just to keep a trace; at the call it was requested to merge the integration tests reports (as this PR splits them). It is supported by Playwright: https://playwright.dev/docs/test-sharding#merging-reports-from-multiple-shards |
4e8acd0
to
dd4b665
Compare
5577d7c
to
7a08e6a
Compare
for more information, see https://pre-commit.ci
str(Path(os.environ.get("DOCKER_VOLUME", "")).joinpath("pw-test-results")), | ||
] | ||
) | ||
except BaseException: |
Check notice
Code scanning / CodeQL
Except block handles 'BaseException' Note
... | ||
try: | ||
await run_async_process(["ls", "-l", str(results_target)]) | ||
except BaseException: |
Check notice
Code scanning / CodeQL
Except block handles 'BaseException' Note
] | ||
) | ||
except BaseException: | ||
... |
Check notice
Code scanning / CodeQL
Statement has no effect Note
try: | ||
await run_async_process(["ls", "-l", str(results_target)]) | ||
except BaseException: | ||
... |
Check notice
Code scanning / CodeQL
Statement has no effect Note
References
Fixes #13600
Closes #11682
Code changes
Building on top of the Docker file we are maintaining for dev (via devcontainer or directly), this switches the CI stack to first build a test docker image and feed it to
allmost of the tests.It modifies slightly
jupyterlab.browser_check
to only install a single web browser based onJLAB_BROWSER_TYPE
(that variable was already defined inbrowser-test.js
).Remaining:
More optimization:
User-facing changes
None
Backwards-incompatible changes
None