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

Improve doc generation #537

Merged
merged 41 commits into from
Oct 14, 2022
Merged

Improve doc generation #537

merged 41 commits into from
Oct 14, 2022

Conversation

PProfizi
Copy link
Contributor

@PProfizi PProfizi commented Oct 7, 2022

Since implementing the strict success criterion on doc generation #491 (no example silently broken, no silent fail), the documentation generation job has proven to be extremely unstable, even more so the last few days.

This PR :

  • improves the logic when running examples via sphinx-gallery
  • fixes a few issues with the documentation
  • fixes some doc build sphinx warnings
  • implements the clean command in the documentations make.bat.

@PProfizi PProfizi self-assigned this Oct 7, 2022
@PProfizi
Copy link
Contributor Author

PProfizi commented Oct 7, 2022

ce9d569
First try: OK
Second try: fails silently. Last output line:
generating gallery for examples\03-advanced... [ 50%] 03-exchange_data_between_servers.py

@PProfizi
Copy link
Contributor Author

PProfizi commented Oct 7, 2022

f8afb5f fails silently. Last line:
generating gallery for examples\03-advanced... [ 50%] 03-exchange_data_between_servers.py

-> Argument -P did not output anything more.

@codecov
Copy link

codecov bot commented Oct 12, 2022

Codecov Report

Merging #537 (6768e5f) into master (c8309ac) will increase coverage by 0.18%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #537      +/-   ##
==========================================
+ Coverage   86.80%   86.98%   +0.18%     
==========================================
  Files          67       67              
  Lines        7179     7179              
==========================================
+ Hits         6232     6245      +13     
+ Misses        947      934      -13     

@PProfizi
Copy link
Contributor Author

Conclusion: the current changes proposed do stabilize the documentation generation, combined with several bug fixes implemented in the last few days. The problems persisting are under investigation in other specific PRs.

@cbellot000
Copy link
Contributor

@PProfizi with the latest changes in master, I'm not having issues with the doc anymore, have you noticed some?

@PProfizi
Copy link
Contributor Author

@PProfizi with the latest changes in master, I'm not having issues with the doc anymore, have you noticed some?

@cbellot000, well you are right, the reason the doc was failing so much was examples failing due to bugs now fixed, yet this PR adds fail-safes to make sure that we detect failing examples correctly next time, and also adds the "kill servers" mechanic equivalent to what is done during testing.

If you want I can rename the PR to "improving the documentation generation job".
I still think there are necessary/useful changes and fixes in the proposed modifications.

@PProfizi PProfizi changed the title Fix unstable doc generation Improve doc generation Oct 13, 2022
@PProfizi PProfizi merged commit e17deae into master Oct 14, 2022
@PProfizi PProfizi deleted the fix/doc_generation_2 branch October 14, 2022 08:50
@PProfizi PProfizi added the CI/CD Related to CI/CD label Oct 19, 2022
PProfizi added a commit that referenced this pull request Oct 20, 2022
PProfizi added a commit that referenced this pull request Oct 27, 2022
* Move Documentation to a reusable workflow, can be manually triggered or called by the CI.

* Move tests to tests.yml, can be triggered manually, can be called by the CI.

* Add gate.yml workflow for gatebin testing.

* Install ansys-grpc-dpf==0.4.0 when ANSYS_VERSION=221

* Add wheel and wheelhouse arguments to the tests.yml

* Set wheel and wheelhouse arguments as optional.

* Create a reusable workflow for running examples, which can be triggered manually or called from the CI.

* Set optional arguments as optional

* Update docs workflow to the latest master changes

* Call docs from CI

* Update tests.yml to reflect changes in master

* Add "extra" env

* Update examples.yml to latest in master

* call examples.yml in CI

* Update retro jobs in CI

* Add debug job in CI

* Add gate job in CI

* Update gate.yml

* Update name of docs workflow in ci.yml

* Update needs of draft_release

* Update tests.yml add DOCSTRING argument

* Use lower-case names

* Fix docs.yml

* Rename testing step in tests.yml

* Update tests.yml to current master state.

* Update gate.yml to current master state.

* Update docs.yml to current master state.

* Skip running python-operators examples when on linux.

* Apply changes from #537 to doc job

* Apply changes from #513 to doc job

* Do not automatically run CI on push to release* branch. This can be managed via a PR if necessary. In theory one can push a bump commit and a tag, which requires only the CI on the tag push.

* Add docs_on_release step, add 3.8 to release steps.

* Separate the workflow triggered on v* tag push.

* Schedule CI release every sunday at 1pm UTC.
Condition draft_release step to push of tag.

* Fix pydpf-post_testing workflow branch name issue

* Allow for workflow call of PyDPF-Post testing

* Run PyDPF-Post compatibility testing on both windows and linux

* Run PyDPF-Post compatibility testing on latest tagged revision by default

* PyDPF-Post compatibility testing accepts ANSYS_VERSION as input

* Run PyDPF-Post compatibility testing on non-draft CI

* Run PyDPF-Post compatibility testing on release and weekly CI for 231, 222 and 221

* PyDPF-Post branch name is not required

* Fix PyDPF-Post cloning step

* Make pydpf-post testing necessary for draft_release in ci_release.yml

* Remove concurrency temporarily

* Add back concurrency

* Comment other jobs temporarily

* Add pydpf-post-TOKEN as required input when run from a workflow

* Split repo name construction

* Actually no need for the dpf-post secret

* Fix pydpf-post cloning step.

* Fix pydpf-post cloning step.

* Fix pydpf-post install step.

* Fix pydpf-post install step.

* Fix pydpf-post install step.

* Fix pydpf-post install step.

* Use new "working-directory" input for prepare_tests and test_docstrings actions.

* Fix test API

* Use prepare_v2.2 pydpf-actions

* Uncomment all jobs

* Fix pydpf-post.yml

* Fix pydpf-post.yml - test docstrings in src/

* Quick fix: only use the three first parts of version strings.

* Update deprecated set-output command.

* Fix test-results-post log path

* Use packaging.version.parse instead of our custom version_tuple function.

* Fix setup step

* Fix setup step

* Remove test_version_tuple

* Bump all pydpf-actions to v2.2

* Merge with master, apply changes for test_docker

* Test test_docker on a regular PR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/CD Related to CI/CD
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants