Uncle Archie is a home-brewed continuous integration server for pull request checks and push-to-deploy functionality. https://pages.charlesreid1.com/uncle-archie
Other
1
stars
0
forks
source link
Bundle Uncle Archie as a Python package with submodules #27
cli interface, e.g., to install or uninstall the startup script (script location is wherever the archie package assets are installed, which we can get via basename, and the package will load up the service file, modify it with appropriate paths, and put it in the right location, with the right permissions. then you just run sudo archie service install)
webapp, flask server and routes and templates and static
tasks (that perform actions in a parameterized way)
dcppc submodule containing dcppc tasks (that use the task base classes to set up actions)
high level - payload handlers are a way of grouping related tasks together
each payload handler has a list of tasks associated with it - for example, the DCPPC payload handler will add all four-year-plan, use-case-library, private-www, &c tasks)
archie.tasks
lower level - tasks are actual commands being run
each task is a particular command or set of commands, plus follow-up actions like modifying the status of a commit on Github
the tasks submodule provides reusability, e.g., for all tasks that require virtual environments, or github API calls, or etc.
archie.webapp
code that defines the Flask webhook application, configuration, and associated endpoints.
archie.tests
utility methods and sample payloads for running tests
submodules:
cli interface, e.g., to install or uninstall the startup script (script location is wherever the archie package assets are installed, which we can get via basename, and the package will load up the service file, modify it with appropriate paths, and put it in the right location, with the right permissions. then you just run
sudo archie service install
)webapp, flask server and routes and templates and static
tasks (that perform actions in a parameterized way)
dcppc submodule containing dcppc tasks (that use the task base classes to set up actions)
This will be closed by #29