-
Notifications
You must be signed in to change notification settings - Fork 8.2k
ci: doc-build: add new check time-incremental-build #58165
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -114,6 +114,18 @@ jobs: | |
| name: pr_num | ||
| path: pr_num | ||
|
|
||
| # Keep this last not to break upload and other "functional" tests above. | ||
| - name: time-incremental-build | ||
| if: github.event_name == 'pull_request' | ||
| run: | | ||
| # Catch major incremental build time regressions like the ones | ||
| # fixed by commits 52842317505f, a140a249b33b and 9d119431945f. | ||
| sed -i -e 's/Zephyr /Xephyr /' doc/index.rst # make a small .rst change | ||
| export DOC_TAG=development SPHINXOPTS='-j auto -t publish' # as above | ||
| time timeout 35 make -C doc/ html-fast # ${DOC_TARGET} as above | ||
| git checkout HEAD -- doc/index.rst # restore to be safe | ||
|
Comment on lines
+117
to
+126
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't see the need to add such hacks in CI. If something breaks, one can open an issue. GH actions also support timeouts.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No strong opinion on what to do here; though, given that there were multiple changes in the past that resulted in increased incremental build time and that seems to be a recurring problem, I can see this being useful in catching problems like that before they get merged; moreover, at most, it only adds 35 seconds to the workflow run time.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The purpose of CI is to catch regressions when they happen. It took me a day to isolate the numfig regression, long after it was merged. I don't make doc changes every day, very far from it. Few people contribute to documentation at all and from past experience it seems many of them don't notice how slow the incremental build becomes; they just assume that "building documentation is very slow" - which I think makes even fewer people contribute to documentation.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. +1 Re: GH Actions, it's not clear if this would allow to set a timeout of less than a minute https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepstimeout-minutes
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We would not want to use the |
||
|
|
||
|
|
||
| doc-build-pdf: | ||
| name: "Documentation Build (PDF)" | ||
| if: github.event_name != 'pull_request' | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably better to be explicit about the timeout units.