run step has a
no_output_timeout key to control the elapsed time the command can run without output.
Most Orb commands wrap
run. Is the intent that all of these Orb commands implement their own
no_output_timeout pass-through? Ideally this seems like something every Orb command would not repeat.
If the orb does not already have a parameter for this, it may not yet have been a concern. The way to handle this in an orb is to “pass through” the parameter.
You can see here in the Python Orb’s
install-packages command, we “pass through” no_output_timeout.
Name of the requirements file that needs to be installed with pip. Prepended with `app-dir`. If using pipenv or poetry, this is ignored.
If using `pip-dist`, use this to use the cache checksum against the `setup.py` if desired.
If `pip-dependency-file` is set to an empty string, no dependency file is used in the `pip install` command.
description: Path to the directory containing your python project. Not needed if dependency file lives in the root.
description: Elapsed time the command can run without output. Passed to install command.
description: Use the lockfile to cache the virtualenv. Not used with pip as pkg-manager.
# run install steps
- steps: <<parameters.pre-install-steps>>
equal: [auto, << parameters.pkg-manager >>]
name: "Install dependencies with automatically determined project package manager"
working_directory: << parameters.app-dir >>
no_output_timeout: << parameters.no_output_timeout >>
PARAM_PKG_MNGR: << parameters.pkg-manager >>
PARAM_DEPENDENCY_FILE: << parameters.pip-dependency-file >>
PARAM_PATH_ARGS: << parameters.path-args >>
PARAM_ADDITIONAL_ARGS: << parameters.args >>
equal: [pipenv, << parameters.pkg-manager >>]
Thanks Kyle. Just wanted to make sure the intended design is for each Orb command to have its own
no_output_timeout parameter (if the command may be long running). I had seen some other Orbs doing this but I wasn’t sure if it was out-of-model.