harvard-lil / h2o

H2O is a web app for creating and reading open educational resources, primarily in the legal field
https://opencasebook.org
GNU Affero General Public License v3.0
37 stars 30 forks source link

Consider replacing local task runner with `invoke` #1810

Closed lizadaly closed 1 year ago

lizadaly commented 2 years ago

Local tasks like running builds or performing maintenance use the fabric3 library, which works well and developers are comfortable with. There are some reasons to consider switching tooling here though:

Invoke is close to a drop-in replacement for Fabric when used for only local tasks. It has no dependencies.

(It might be convenient or it might be confusing but it would be possibly to retain fab as an alias so people can continue to use the commands they're accustomed to during development!)

lizadaly commented 1 year ago

Another, perhaps more streamlined alternative, is to just use custom Django management commands for tasks that use the Django environment and a simple makefile or bash script wrapper for anything else, avoiding additional dependencies entirely.