-
Notifications
You must be signed in to change notification settings - Fork 2
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
Simplify the Docker setup #8
Comments
@PhilippMatthes I don't think the build system is too complex. I would like to point out a few things.
|
@felix-kaestner thanks for your feedback, let me approach some of the considerations that you made. One of the main problems of the current setup is that the auxiliary files that are generated by LaTeX during the build are kept within the container that is used a single time (and not thrown away, hence causing #7). However, LaTeX can use the generated auxiliary files to perform subsequent builds much faster. This is especially a problem for bigger theses, where the build can take up to 2 minutes or more. My shell wrapper (which could presumably also use |
@PhilippMatthes I get your point, but what is the benefit from using a custom shell wrapper and calling |
@felix-kaestner thanks for the further points. Maybe the shell wrapper doesn't necessarily provide a better usability or understandability as initially proposed. I could argue that it is more swift than the Makefile option but I don't want to diverge into extensive opinionated discussions. However I am still concerned about potential time gain when the auxiliary files could be included in subsequent builds. Additionally the use of a command as shown would make the Dockerfile redundant and therefore vastly simplify the build process. When testing today it didn't seem like the instantiation of a new container on each build added any humanly noticeable overhead. The improvement in time was obvious though. |
Actually, I wouldn't agree that a shell wrapper is more swift than a Makefile, since The Again, even if we skip the procedure explained above, the shell wrapper is the same as |
Anyway, I will look into building the |
@PhilippMatthes the |
@felix-kaestner I will close this issue since I am not sure how to proceed with the initial idea. Thanks for your feedback, though. |
@felix-kaestner I might have a possibility to further advance this – including a simultaneous possibility to simplify the Docker setup. The core idea of this project was to not have to install Latex locally on a machine, and to automatically publish the build theses to the release section on GitHub.
However, the current setup still has some remaining problems such as #7 – which originates in a too complex build system. As an entrypoint to this discussion: how about we condensate the build process to using the following command in a shell wrapper?
Note that the
--platform linux/amd64
may be needed for the image to work on M1 machines ;)As such, the shell wrapper would mount a Docker container to the current workdir to build the thesis with
./wrapper latexmk thesis
. This makes the usage of a complicatedMakefile
(like we currently do) unnecessary and gives much more flexibility as to which commands can be executed by the Docker container. Additionally, latex can make use of the mounted build files to reduce the build time drastically.Let me know what you think of this @felix-kaestner!
The text was updated successfully, but these errors were encountered: