Dead simple task runner. Now with support for Docker.
You can follow the installation guide available here.
For more information on how to get started, please check the wiki.
- Automatic determination of the execution plan
- Parallel jobs execution
- Shell executor
- Docker executor
- Real-time output support for parallel jobs
- Simple configuration DSL based on YAML
- Execution report
- Web UI for browsing the execution reports (?)
- Enable logging
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.
- 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
- Tudor Marghidanu - creator and maintainer