Skip to content
/ ebro Public

Task runner. A tool for defining tasks with their requirements and executing them in the correct order.

License

Notifications You must be signed in to change notification settings

sirikon/ebro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ebro

Warning

Work in progress. Undocumented.

ebro is a task runner. A tool for defining tasks with their requirements and executing them in the correct order.

It's configured using Yaml files (sorry) and the tasks are shell scripts interpreted with mvdan/sh.

tasks:
  default:
    requires: [echoer, producer]

  echoer:
    script: |
      cat cache/A.txt
      cat cache/B.txt
    when:
      output_changes: |
        cat cache/A.txt
        cat cache/B.txt

  producer:
    requires: [produce_a, produce_b]

  produce_a:
    requires: [cache_dir]
    required_by: [echoer]
    script: echo 'this is A'>cache/A.txt
    when:
      check_fails: test -f cache/A.txt

  produce_b:
    requires: [cache_dir]
    required_by: [echoer]
    script: echo 'this is B'>cache/B.txt
    when:
      check_fails: test -f cache/B.txt

  cache_dir:
    script: mkdir -p cache
    when:
      check_fails: test -d cache

It's heavily inspired in go-task/task, but originally built around a personal need for configuring servers, although it's not tied to this use case.

About

Task runner. A tool for defining tasks with their requirements and executing them in the correct order.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published