Комментарии
4
Мне подсказали, что описанный в статье образ для компиляции иногда может выдавать ошибки.
Если вы столкнетесь с этим, можно использовать dante-ev/latex-action@v0.2.0.
В коде это приведет к изменению
на
Спасибо stdereka за наводку!
Если вы столкнетесь с этим, можно использовать dante-ev/latex-action@v0.2.0.
В коде это приведет к изменению
uses: xu-cheng/latex-action@v2
на
uses: dante-ev/latex-action@v0.2.0
Спасибо stdereka за наводку!
Спасибо за статью! Как раз сейчас возникла потребность в автоматическом режиме собирать pdf'ки из латеха.
Не знаете ли, можно ли собирать pdf только в том случае, если пушнутые коммиты затрагивали файлы внутри данной папки (скажем, tex
)? У меня в проекте кроме латеха есть ещё куча исходников, которые я последнее время правлю сильно чаще, чем человеческий текст, а собирать по документу на совсем уж каждый чих выглядит расточительным.
Вообще, если Вы не хотите триггерить билд при отсутствии изменений в .tex файлах, то это будет сделать сложно. Насколько мне известно, CI/CD был задуман так, чтобы запускаться на каждый коммит/тег/ветку.
Если Вас устроит такой вариант, можно просто научить раннер пропускать сборку при отсутствии изменений в .tex-файлах. Сходу приходит такая мысль: считать md5-сумму всех .tex-файлов в конце сборки и сохранять ее как артефакт. Затем можно в начале сборки загружать сохраненную с предыдущей сборки md5-сумму, считать на исходниках и сверять: если совпали, то не выполнять сборку tex-файлов.
Это звучит как грязный хак, но должно сработать.
Если Вас устроит такой вариант, можно просто научить раннер пропускать сборку при отсутствии изменений в .tex-файлах. Сходу приходит такая мысль: считать md5-сумму всех .tex-файлов в конце сборки и сохранять ее как артефакт. Затем можно в начале сборки загружать сохраненную с предыдущей сборки md5-сумму, считать на исходниках и сверять: если совпали, то не выполнять сборку tex-файлов.
Это звучит как грязный хак, но должно сработать.
О, а я уже решил эту проблему, но, к сожалению, забыл про это написать. Решение на самом деле очень простое, нужно в on
добавить правильный предикат. Например, для моего проекта соответствующий .yml
выглядит так:
on:
push:
branches: [ master ]
paths:
- 'tex/**'
pull_request:
branches: [ master ]
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.
GitHub Actions и LaTeX: поднимаем, заливаем