qDup-0.6.13
New Features from 0.6.7
Strict yaml validation will fail to parse yaml if there are extra keys. This helps catch indentation errors that put keys in the wrong location on the yaml tree.
Add else
to js
command for when the command returns a falsey
javascript value
- js: (input,state)=>false
then:
- sh: shouldNotHappen.sh
else:
- sh: dosomething.sh
add support for a signal
in the timer
on a wait-for
. This lets scripts take an action if a signal
is not reached in a specified amount of time
- wait-for: never
timer:
10m:
- signal: notyet
update sshd to 2.8.0 to address issues with Fedora 35 and newer ssh encryption negotiation
add support to run a script
asynchronously (in a new ssh connection) when observing a command
- sh: tail -f server.log
watch:
- regex: error
then:
- script:
name: debugServer
async: true
add /regex
/js
and /parse
to the session debug endpoints on the debug server (localhost:31337
)
add -Y
command line argument to combine all the input yaml into a single, unified yaml output. This is similar to -T
in that it will first validate the yaml and return errors if necessary
added a new top level globals
object to the yaml syntax that currently support javascript
for defining helper functions that are available in both patterns ${{jsFunction()}}
and js
execution
globals:
javascript: |
function jsFunction(val){
return val*5
}
```
`set-state` now returns the value of the state entry as the input to the subsequent commands
```yaml
- set-state: RUN.foo bar
then:
- sh: echo ${{foo}} #will output bar
fix bug where runs were not terminating when the only running scripts were in a wait-for
. Runs should terminate if the only running scripts are wait-for
and there is not a timer
on the wait-for
. This allows scripts to start in every run and only execute of a condition is met.