Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 1.35 KB

README.md

File metadata and controls

49 lines (37 loc) · 1.35 KB

charlotte

Job

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.

Running test suite

make test

Building job binary

cd cmd/job
go build .

Running job

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.

v0.1

  • 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?

v0.2

  • validation
  • extract steps so that they can be included (include file with inputs) + proper validation for that
  • ...

Pipeline

Layer on top of Jobs.