Оптимизация времени сборки проекта ReadTheDocs
Я разрабатываю двоичную библиотеку Python разумного размера, Parselmouth, для сборки которой требуется некоторое время - главным образом потому, что я обертываю существующую программу большой базой кода. Следовательно, теперь, когда я пытаюсь настроить документацию API, я использую ограничение по времени в 15 минут или ограничение по объему памяти в 1 ГБ (при многопоточности сборки у меня возникают дорогостоящие экземпляры шаблонов, и процесс компиляции прерывается), когда опираясь на ReadTheDocs.
Тем не менее, я успешно настроил сборки Travis CI, используя ccache, чтобы не перекомпилировать большую кодовую базу, а только измененные части кода оболочки.
Я думал об установке из PyPI, но затем управление версиями усложняется, и промежуточные сборки разработки не получают хорошую документацию по API.
Поэтому мне было интересно: есть ли известное решение для такого рода случаев, возможно, с использованием сборок из Travis CI?
1 ответ
Чтобы решить эту проблему, я решил использовать BinTray для загрузки моих колес, созданных на Travis CI. После успешной сборки и загрузки я вручную запускаю сборку ReadTheDocs, которая затем устанавливает проект с правым колесом Python из BinTray.
Для более подробной информации смотрите этот коммит