Skip to content

Releases: Hyperfoil/qDup

0.8.2

11 Jun 14:48
Compare
Choose a tag to compare

Bug fixes and improved documentation

  • fix issue with LOCAL host mode on Fedora 40
  • fix issue with container hosts preventing the process from exiting after a run completes
  • update docs on container hosts

0.8.1

14 May 13:49
Compare
Choose a tag to compare

qDup now requires jdk17+

  • fix exit-code errors that can occur when a command spawns background sub-commands that write to the stream after the parent command exits.
  • fix local support for newer kernels
  • fix container start and stop logic
  • fix support for passing state patterns into ignore-exit-code

0.7.2

28 Jun 23:54
Compare
Choose a tag to compare

Fixes:

  • fix an issue where nanny would end a repeat-until assuming it was stuck when signal already occurred
  • improve error logging with java exceptions
  • add tests to ensure qDup.jar exit code > 0 when the run aborts or the yaml fails to parse

0.7.1

07 Jun 14:43
Compare
Choose a tag to compare

Fixes:

  • fix issue where ignore-exit-code on sh did not work

0.7.0 - Breaking changes

31 May 23:51
Compare
Choose a tag to compare

Breaking changes

qDup now defaults to abort on non-zero sh exit codes, replacing the -x option that previously enabled the abort on non-zero exit behavior. Use -ix or --ignore-exit-code to disable exit code checking and use the previous default behavior. You can also use the long form sh definition to add ignore-exit-code: true to commands that you know could have a non-zero exit code:

- sh:
    command: rm server.log
    ignore-exit-code: true

New Features:

The add-prompt command now supports an is-shell option. This boolean option tells qDup if the prompt still supports shell commands (e.g. echo and pwd) for checking the exit code and checking the current working directory. Previously, qDup would assume all custom prompts from add-prompt did not support shell commands. The add-prompt would normally indicate we were entering a command line (e.g. hyperfoil's cli.sh) but it could also be used to connect to a container that does support a full shell (e.g. podman exec -it /bin/bash)
The executable jar will now return 1 if the run aborts, the yaml is invalid, or the command line arguments are invalid.

Fixes:

  • fix issue where ctrlC on a command would cause qDup to consider it a non-zero exit value
  • fix issue where a ssh connection would close and be re-opened twice during abort

0.6.21

15 May 16:58
Compare
Choose a tag to compare

Bug Fixes:

  • aborting an already aborted run will no longer hang the run
  • secrets are no longer included in exception messages from ssh connection failures

General Changes:

  • add messages related to security issues preventing ssh connections
  • add upload and download override options for host definition

0.6.20

05 Apr 19:23
Compare
Choose a tag to compare

Bug Fixes:

  • improve shutdown from external signals to complete cleanup scripts
  • prevent empty secret values
  • prevent partial secret exposure when secrets have similar values
  • improve documentation links

0.6.18 local and container connections

17 Feb 17:39
Compare
Choose a tag to compare

New Experimental Features

  • local host connection
    qDup can now connect to a local bash shell to run commands without requiring a local ssh service. This can be accessed with the reserved LOCAL host name
hosts:
- LOCAL
  • container connections
  • qDup can connect to or start a container using podman on either the local host or a remote host using an ssh connection to the remote host. The host can be defined with the container name, id, or an image url.
hosts:
- existingContainerById: 101abd31c437
- existingContainerByName: hungry_hertz
- newContainerFromImage: registry.access.redhat.com/ubi8/ubi:latest
- newContainerOnServer: username@server//registry.access.redhat.com/ubi8/ubi:latest

The above features are considered experimental because we may change how they are accessed. the LOCAL reserved host name and // separator between image url and ssh credentials may change in a subsequent release.

0.6.17

08 Feb 01:05
Compare
Choose a tag to compare

New Features:

  • Added command line support to load scripts from http or https urls.
java -jar qdup.jar https://localhost:8888/script.yaml
  • add script reference stack to error messages
  • add how to examples for common use cases
  • add nanny check for bash more input prompt (> )

0.6.14

06 Sep 20:17
Compare
Choose a tag to compare

New Features

add state entry ENV.ABORTED as true when abort executes in a script. This state variable is available to any cleanup-scripts so the scripts can adjust behaviors.

cleanup-lab:
- read-state: ${{ENV.ABORTED}}
  then:
  - sh: rm -rf /tmp/foo
  else:
  - queue-download: /tmp/foo/result.json #exists if the run did not abort

fix broken check-exit-code support to correctly abort runs when exit code checking is enabled

add support for http(s) urls in the command line arguments for yaml files.
java -jar qdup-uber.jar https:localhost/qdup.yaml

add /breakpoint support for json server to remotely debug scripts without a connected terminal. This is an experimental feature that will eventually support remote debugging of scripts running on a different machine.