2017-10-04 3 views
1

Je développe une bibliothèque Python binaire de taille raisonnable, Parselmouth, qui prend du temps à construire - principalement parce que je suis en train d'encapsuler un programme existant avec une grande base de code. Par conséquent, maintenant que j'essaie de configurer la documentation de l'API, je suis confronté soit à la limite de temps de 15 minutes soit à la limite de 1 Go (quand je multithread ma build, j'ai des instanciations de template coûteuses) en s'appuyant sur ReadTheDocs.Optimisation du temps de construction pour le projet ReadTheDocs

Cependant, j'ai réussi à mettre en place des versions de Travis CI, en utilisant ccache pour ne pas recompiler la grande base de code, mais seulement les parties modifiées du code de l'encapsuleur.

Je pensais installer à partir de PyPI, mais alors le versionnement devient compliqué, et les versions de développement intermédiaires n'obtiennent pas une bonne documentation d'API.

Alors je me demandais: existe-t-il une solution connue pour ce genre de cas, peut-être en utilisant les builds de Travis CI?

Répondre

0

Ce que j'ai fini par faire pour résoudre ce problème était d'utiliser BinTray pour télécharger mes roues construites sur Travis CI. Après que cette construction et le téléchargement ont réussi, je déclenche manuellement la construction ReadTheDocs, qui va ensuite installer le projet avec la bonne roue Python de BinTray.

Pour plus de détails, voir this commit