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

Tectonic biber docker image #15

Closed
WtfJoke opened this issue Oct 8, 2018 · 5 comments
Closed

Tectonic biber docker image #15

WtfJoke opened this issue Oct 8, 2018 · 5 comments

Comments

@WtfJoke
Copy link

WtfJoke commented Oct 8, 2018

I made a tectonic docker image with biber included (thanks to the work of #10 and @malramsay64 comment in tectonic-typesetting/tectonic#53 (comment) and https://github.com/rekka/tectonic-docker).

The image can be found here: https://hub.docker.com/r/dxjoke/tectonic-docker/
My .travis.yml looks like this:


sudo: required
services: docker
script:
- docker pull dxjoke/tectonic-docker
- docker run --mount src=$TRAVIS_BUILD_DIR,target=/usr/src/tex,type=bind dxjoke/tectonic-docker
  /bin/sh -c "tectonic --keep-intermediates --reruns 0 main.tex; biber main; tectonic main.tex"
deploy:
  provider: releases
  api_key:
    secure: [superlongapikey]
  file: main.pdf
  skip_cleanup: true
  on:
repo: [myrepo]

Its quite fast since all the long running tasks are bundled inside of the docker image. My tests using miniconda were terrible slow on each build.
Maybe you can test this as well and see if it works for you as well and include it in your repo. :)

@PHPirates
Copy link
Owner

PHPirates commented Oct 9, 2018

That's cool! Thanks for doing this. I tested it (branch dxjoke-docker) and it seems to work great, build times of mwe well under a minute and close to a minute for the test file with many packages.

I thought about it but I don't think there are any disadvantages compared to using rekka's image right? So we should just replace it, what do you think?
If you want you can submit a PR for that :) and otherwise I'll do so myself when I have time.

@WtfJoke
Copy link
Author

WtfJoke commented Oct 10, 2018

Cool, thank you for your testing :)

I don't think there are any disadvantages compared to using rekka's image right? So we should just replace it, what do you think?

Well, there is one disadvantage. The docker image is slightly bigger (70mb/75mb instead of 54mb because of the biber binary (and a few packages more included because of that).
Beside of that, there isnt any disadvantage. The other difference is, that I use the latest version of tectonic and biber, but that shouldnt make any difference.

I would see it more as an alternative to the miniconda method (like a 1-c in terms of your folder structure? 😛 ) if you only need tectonic and biber.

But its up to you, since its your repo. I might can do a PR, just tell me in which folder I should place it 😄

@PHPirates
Copy link
Owner

PHPirates commented Oct 10, 2018

Great, thanks 😄

Ah yes, but that's only a slight increase in size so I don't think that's important for most people.
Yes it's an alternative for the miniconda method so I think it would replace 1a-tectonic-docker. I would keep it named as 'tectonic-docker' though, it's just that the image changes to yours and that the biber line changes from con to a pro :) (and whatever else you think of regarding instructions)

I would add a note about @rekka's image and that he had the original idea, in case someone prefers that one. I saw that you asked if his image should be updated, so I think he'll be fine with it :)

I think I'll update the SE question as well, as it seems people still read and use that one.

@PHPirates
Copy link
Owner

If you want you can reuse the .travis.yml which I tested in the dxjoke-docker branch and also the biber-mwe.tex file, the latter which could be used in a test run (there is a test folder with tests).
So maybe you could just continue that branch, and for the final PR then change the main .travis.yml back to the contents on master so it runs all the tests. This changing back and forth is a bit convoluted but I can only have one .travis.yml at a time.

@WtfJoke
Copy link
Author

WtfJoke commented Oct 11, 2018

Allright, your ideas sounds good to me. Im not sure if it works out very well if I do a pr (because of the travis api keys) but I guess I just try it (like last time).

I guess there is not much more work than you have already done in the dxjoke-docker branch, beside adjusting the readme and placing the stuff in test (and testing it with my fork for sure).

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

2 participants