🎨 Run
Run is a versatile task runner 🏃 with a powerful plugin system.
👉 Documentation
⚠ The task runner is under active development and the specification may change.
Features
- Universal task runner 🛠
- Extensible via plugins 🥳
- Template generation in task runs
- Task watcher (allows to watch on file system changes and re-runs tasks)no
Install
Homebrew
brew install katallaxie/run/run
Example
spec: 1
version: 1.0.0
authors:
- Sebastian Döll <sebastian@katallaxie.me>
homepage: https://github.com/katallaxie/run
repository: https://github.com/katallaxie/run
tasks:
test:
disabled: false
desc: test
vars:
region: test
env:
REGION: test
steps:
- cmd: echo {{.OS}}
watch:
paths:
- pkg/config
template:
-
file: ./examples/config.json.tpl
out: ./config.json
vars:
foo: bar
Plugins
Plugins are implemented using the go plugin over RPC package.
Plugins are triggered using the --plugin
flag. They are executed with the vars
set with the --var
flag and the global vars
property in the .run.yml
file.
Example:
See plugin.go
for an example.
Development
The goal is that run
is build and maintained by itself. However, up until this very moment. There two quick steps to build it.
The development is intended to be run with Codespaces the blazing fast cloud developer environment.
env GO111MODULE=on goreleaser release --snapshot --rm-dist
License
Apache 2.0