Simple app that takes a YAML file that contains a set of steps which are bash scripts, wrapped into simple logic, inputs, outputs etc. and executes it.
make test
cd cmd/job
go build .
cd cmd/job
./job run-local -j ../../sample-files/job.yaml -r /tmp/job-result.txt -i ../../sample-files/job-inputs.json --quiet
cat /tmp/job-result.txt
Also, there are test files in the pkg/job/runtime/local/tests
directory that can be used.
- pipe stdout and stderr to files
- environment (global and in-step)
- variables
- job inputs
- step outputs
-
continue_on_error
- values using golang templates
-
if
- conditional steps (value templated, must equal to string'true'
) - running step(s) on success
- running step(s) on failure
- running step(s) always
- tmp directory for step outputs
- gather job outputs
- write job outputs to json file
- handle input:
--inputs
,--job
,--result
without aliases (and--quiet
) - prepare sample yaml files - same as the test ones, so the test would just include them?
- validation
- extract steps so that they can be included (include file with inputs) + proper validation for that
- ...
Layer on top of Jobs.