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

Add link caching #8354

Merged
merged 1 commit into from May 6, 2020
Merged

Add link caching #8354

merged 1 commit into from May 6, 2020

Conversation

blink1073
Copy link
Member

@blink1073 blink1073 commented May 2, 2020

References

Partially addresses #8117. Utilizes the new caching options in pytest-check-links (thanks @bollwyvl!).

Docs builds go from >1hr total to a single ~10 minute build with a cache. I increased the time limit to 90 so as our change log grows we have some space when the cache is busted.

Code changes

Changes to CI script and GH Actions workflow

User-facing changes

CI builds will be much faster.

Backwards-incompatible changes

None

@jupyterlab-dev-mode
Copy link

Thanks for making a pull request to JupyterLab!

To try out this branch on binder, follow this link: Binder

@blink1073
Copy link
Member Author

Baseline is 56 minutes.

@blink1073 blink1073 closed this May 2, 2020
@blink1073 blink1073 reopened this May 2, 2020
@blink1073
Copy link
Member Author

Hmm, this is failing with https://github.com/jupyterlab/jupyterlab/issues/2409: 429: too many requests. It appears the retry logic isn't working.

@blink1073
Copy link
Member Author

First changelog run took 43m.

@blink1073
Copy link
Member Author

blink1073 commented May 5, 2020

Docs build was 13 min without a cache, 11 min with cache.

@blink1073 blink1073 closed this May 5, 2020
@blink1073 blink1073 reopened this May 5, 2020
@blink1073 blink1073 closed this May 5, 2020
@blink1073 blink1073 reopened this May 5, 2020
@blink1073 blink1073 closed this May 5, 2020
@blink1073 blink1073 reopened this May 5, 2020
@blink1073 blink1073 marked this pull request as draft May 5, 2020 16:46
@blink1073 blink1073 closed this May 5, 2020
@blink1073 blink1073 reopened this May 5, 2020
@blink1073 blink1073 marked this pull request as ready for review May 5, 2020 19:14
request the cache version of pytest-check-links

clean up packages

Revert "clean up packages"

This reverts commit dc193e7.

Fix ci script

build api docs after link checks

cache action must target directory

break link check into two build and add hashing

Ensure the cache dir exists

Install docs requirements

consolidate jobs again

break changelog into its own job

cleanup cache paths and increase test timeout

fix timeout-minutes specifier

try changing cache name and adding restore-keys

try changing cache name and adding restore-keys

Clean up cache handling

Use matrix.group

bump version requirement

We weren't actually using a cache...

Print the contents of the cache dir

change the cache name

consolidate to one build

remove changelog build

update restore-keys
@telamonian
Copy link
Member

telamonian commented May 5, 2020

Down to 10 min for the combined doc tests, impressive. Are we caching all link checks, or just the troublesome github ones?

@blink1073
Copy link
Member Author

We cache all links for 24 hrs.

@telamonian
Copy link
Member

telamonian commented May 6, 2020

We cache all links for 24 hrs.

Okay, that makes waaay more sense than what I was thinking (that we keep the cache forever). That's a really elegant solution to this very niche, very annoying issue

@blink1073 blink1073 merged commit 604d44d into jupyterlab:master May 6, 2020
@github-actions github-actions bot added the status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. label Feb 9, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. tag:DevOps tag:Testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants