werk
werk
Dead simple task runner.
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
- [ ] 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 (?)
Example
Create a werk.yml with the following content:
version: "1"
description: "Manage Werk with Werk"
jobs:
main:
description: "Build application"
commands:
- shards build
needs:
- lint
- test
lint:
description: "Lint code"
commands:
- ameba
can_fail: true
test:
description: "Test code"
commands:
- crystal spec
docs:
description: Generate API documentation
commands:
- crystal docs
- open docs/index.html
silent: true
after that, you can run
werk run
to trigger the entire build flow. 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