werk

Dead simple task runner with concurrent support, ideal for local CI werk executor parallel-jobs task-runner shell cli
HEAD Latest release released

werk

Dead simple task runner.

Build status

CI 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.

asciicast

Contributing

  1. Fork it (https://github.com/marghidanu/werk/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

werk:
  github: marghidanu/werk
  
License MIT
Crystal 0.35.1

Authors

  • tudor@marghidanu.com

Dependencies 2

  • admiral 1.11.2
    {'github' => 'jwaldrip/admiral.cr', 'version' => '1.11.2'}
  • tallboy 0.9.3
    {'github' => 'epoch/tallboy', 'version' => '0.9.3'}

Development Dependencies 0

Dependents 0

Last synced .
search fire star recently