Skip to content

Releases: Hyperfoil/qDup

qDup-0.6.13

20 Apr 18:26
Compare
Choose a tag to compare

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.

0.6.7

13 Oct 18:22
Compare
Choose a tag to compare

New features

Add support for patterns in role hosts. Patterns will use values from states or the command line (-S key=value). The resolved value can be a host alias to uses a host already defined in a hosts section or it can be a Host definition of the form username@hostname:port to create a new host definition.

hosts:
  server: me@testserver
  
roles:
   example1:
      hosts: ${{from_command_line}}
      ...
   example2:
     hosts:
     - ${{primaryServer}}
     - ${{additionalServer}}
     ...
states:
  primaryServer: server
  additionalServer: me@otherserver

The hosts entry is evaluated when the run starts so changes to from_command_line or additonalServer in a script will not change the hosts for a role.

Add ^skip and ^next to the json server api for recovering active scripts.
Bug fixes
fix dashes in regex capture names. regex: (?<name-with-dash>>*)

0.6.6 -

25 Jun 19:43
Compare
Choose a tag to compare

use defaults when run as java -jar qDup-uber.jar file.yaml
increase idle timeout to 7 days for long running commands without console output
fix NPE when queue-download files do not exist
improve yaml error messages for malformed yaml

0.6.5

12 Jun 02:25
Compare
Choose a tag to compare

use sane defaults to run java -jar qDup-uber.jar file.yaml without additional arguments
update sshd-core to support ssh to Fedora 33 and newer
abort run if upload or download fail
abort run if xml operation fails

0.6.3

15 Apr 19:52
Compare
Choose a tag to compare

Includes bug fixes and feature enhancements:

  • fix ConcurrentModificationException when sh command ends while processing a large buffer write
  • add support for ^X (ctrl-X) to the POST sessionId endpoint to send ctrl sequences to the remote ssh session
  • add session tracing for raw buffer and buffer without escape sequences using the --trace pattern on the session name.
  • add max-size option for queue-download and download to avoid downloading large files for error cases
- queue-download: server.log
  max-size: 100m
  • fix input and output from script and associated then
  • fix hang on error when setup-scripts fail to connect
  • add support for multiple then to isolate command output
- sh: doSomething.sh
  then:
  - sh: use_doSomething_output.sh
  then:
  - sh: also_use_doSomething_output.sh
  • add auto-convert to set-state and regex to disable automatic type conversion
- sh: date +%s
- set-state: RUN.TS
  auto-convert: false #treat the timestamp as a string not a number
  • improve documentation and examples

0.6.2

30 Mar 18:40
Compare
Choose a tag to compare

0.6.2

  • Fixes issues with watch not receiving the correct lines when multiple lines occur in the same ssh buffer.
  • Adds raw and efs trace for each ssh session when tracing.
  • Adds --traceName to specify a state pattern for the trace file id.

qDup v0.5

08 Jun 18:00
Compare
Choose a tag to compare
release-0.5

[maven-release-plugin] copy for tag release-0.5

qDup v0.4.1

19 Apr 09:28
Compare
Choose a tag to compare
release-0.4.1

[maven-release-plugin] copy for tag release-0.4.1

qDup v0.3

28 Jan 21:06
Compare
Choose a tag to compare
prepare 0.3 release