Summary
I would like to bring in to the discussion a quite serious issue that the installer doesn't fail on any errors.
Steps to reproduce
idt-installer VERSION="1.2.3"
Operating System
Specify: MacOS, Linux
Supporting details
Yesterday, my build pipeline for docker images with cloud tools failed on a testing stage with the error "kubectl: command not found". It was a bit unexpectedly. The first question in the mind was "why the image was even built??!". After a short investigation, it turned out, that all IBM Cloud tools are being installed by only one bash installer and it doesn't fail if cannot install something along the way. I submitted a related pull-request #118. But, it won't fix the main issue. Yes, it does fix the curl's options set and curl will exit with exit code 22 instead of 0, but the installer doesn't check this condition and keep working.
I din't submit a pull-request for this issue as long as it's a matter of adding "set -e" or "set -o errexit" closer to the beginning of the script and run it through your testing suite.
It is more about the understanding of what a behavior is right.
I suppose, most people expect to get all cloud tools installed if the installer finishes with no errors.
What do you guys think?
Development "done" checklist
Summary
I would like to bring in to the discussion a quite serious issue that the installer doesn't fail on any errors.
Steps to reproduce
idt-installer VERSION="1.2.3"
Operating System
Specify: MacOS, Linux
Supporting details
Yesterday, my build pipeline for docker images with cloud tools failed on a testing stage with the error "kubectl: command not found". It was a bit unexpectedly. The first question in the mind was "why the image was even built??!". After a short investigation, it turned out, that all IBM Cloud tools are being installed by only one bash installer and it doesn't fail if cannot install something along the way. I submitted a related pull-request #118. But, it won't fix the main issue. Yes, it does fix the curl's options set and curl will exit with exit code 22 instead of 0, but the installer doesn't check this condition and keep working.
I din't submit a pull-request for this issue as long as it's a matter of adding "set -e" or "set -o errexit" closer to the beginning of the script and run it through your testing suite.
It is more about the understanding of what a behavior is right.
I suppose, most people expect to get all cloud tools installed if the installer finishes with no errors.
What do you guys think?
Development "done" checklist