werk
werk
Dead simple task runner. Now with support for Docker.
Build status
Installation
You can follow the installation guide available here.
Documentation
For more information on how to get started, please check the wiki.
Features
- [x] Automatic determination of the execution plan
- [x] Parallel jobs execution
- [x] Shell executor
- [x] Docker executor
- [x] Real-time output support for parallel jobs
- [x] Simple configuration DSL based on YAML
- [x] Execution report
- [ ] Web UI for browsing the execution reports (?)
- [x] Enable logging
Example
Create a werk.yml with the following content:
version: "1"
description: "Manage Werk with Werk"
jobs:
main:
description: "Build application"
executor: local
commands:
- shards build
needs:
- lint
- test
lint:
description: "Lint code"
executor: docker
image: veelenga/ameba
commands:
- ameba
can_fail: true
test:
description: "Test code"
executor: local
commands:
- crystal spec
docs:
description: Generate API documentation
executor: local
commands:
- crystal docs
- open docs/index.html
silent: true
after that, you can run
werk run
You can also start individual jobs by specifying a target like this:
werk run lint
Here's another example; in this case, I'm building Werk using itself.
Contributing
- Fork it (https://github.com/marghidanu/werk/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Tudor Marghidanu - creator and maintainer