No description
.vscode | ||
docs | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
dev-setup.sh | ||
gregory.example.toml | ||
podman-compose.dev.yml | ||
podman-compose.example.yml | ||
README.md | ||
test.sh |
Gregory
This is Gregory. Gregory controls repos. Gregory keeps track of updating repos, trying to be simple and elegant, but enough.
Documentation
Install gregory with cargo install
:
cargo install --git https://github.com/askiiart/gregory
Gregory's config looks something like this:
max-jobs = 4
max-threads = 10
[packages]
[packages.librewolf]
dependencies = ["some-librewolf-dependency"]
version_check = ["check-version --whenever-you-feel-like-it-please"]
[packages.librewolf.compilation]
revision = "2"
threads = 6
image = "docker.io/library/debian"
commands = ["echo hi", "sleep 2.432", "echo helloooooooooo"]
volumes = ["librewolf"]
For more details, look at the ./docs/
, and check out the rest of the example config.
Once you've created your config, just run gregory with gregory run
- that's it!
TODO
- Add multithreading
- Add hook system
- Fix dependencies/running jobs
- update docs with uid
Other stuff
- The formatting for the config file (
gregory.toml
) was heavily inspired by Drone's config. - Why the name?
- I was thinking to go with something dark and foreboding, since this is a program to control everything about many repos - it's the high command. But I couldn't think of anything and thought just naming it some lame random name instead would be way funnier. Hence, Gregory.
- Gregory is a program, so it uses it/its pronouns. It also doesn't mind whether you capitalize its name or not, "gregory" or "Gregory" are fine, you can even shorten it if you want.
- It's built for updating package repositories, but can be used to run pretty much anything. This isn't to say support won't be offered unless you're using it for a repo, but development will be focused on updating repos.