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

Shorten duration of documentation CI job. #59

Open
Zimmi48 opened this issue Aug 18, 2021 · 4 comments
Open

Shorten duration of documentation CI job. #59

Zimmi48 opened this issue Aug 18, 2021 · 4 comments

Comments

@Zimmi48
Copy link
Member

Zimmi48 commented Aug 18, 2021

@palmskog You were worried about CI length: it turns out that the CI job that was already the lengthiest (building the documentation) is impacted by the addition of Gaia as a dependency, since it also needs to install all of hydra-battles dependencies. I'll open a separate issue about this.

Originally posted by @Zimmi48 in #55 (comment)

More generally, the duration issues of this job come from several sources:

  • install dependencies: 9 minutes
    • the introduction of Gaia impacted this duration by about 6 minutes
    • before then, there was already the issue of building mathcomp, because the workflow uses the standard Coq images to be able to set the correct OCaml compiler version for SerAPI
  • install Alectryon: 4 minutes (this includes in particular building SerAPI and its dependencies).

It seems to me that there are only two solutions: building a custom Docker image or updating this workflow to rely on Nix instead of Docker-Coq-Action. I will attempt the latter, but it may take a while.

@palmskog
Copy link
Member

I also believe the best solution is to switch to Nix for documentation deployment. I think there is hope that there will eventually be Docker images that contain both SerAPI and Alectryon and recent OCaml (e.g., https://github.com/coq-community/docker-coq-action/issues/57), but that may take even longer than the Nix update.

Another thing that could help the documentation job go quicker is to make sure it uses Dune to selectively build the needed Coq parts (for example, I don't think Pierre has plans to include the Gaia bridge code in the book for a while).

@Zimmi48
Copy link
Member Author

Zimmi48 commented Aug 18, 2021

Another thing that could help the documentation job go quicker is to make sure it uses Dune to selectively build the needed Coq parts (for example, I don't think Pierre has plans to include the Gaia bridge code in the book for a while).

This, or even adapt doc/movies/Makefile so that the dependencies of the listed COQ_FILES are built with the coq_makefile setup.

@Casteran
Copy link
Member

Casteran commented Aug 18, 2021 via email

@Zimmi48
Copy link
Member Author

Zimmi48 commented Sep 20, 2021

FTR, the total doc build duration may currently be negatively impacted by what I noticed in #71 (comment), i.e. the "Build Alectryon snippets" step in the build-doc job does not do anything anymore and the snippet building happen in the "Compile LaTeX document" step. The reason why this may negatively impact build duration is because only the former uses -j $(nproc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants