Helm v3.4.0 logs a warning about URL deprecation which causes semver
parsing to fail. We need to only read stdout and ignore stderr here.
Signed-off-by: Reinhard Nägele <unguiculus@gmail.com>
Usage of filepath vs. path seems to have been pretty random.
With this change, we consistently use filepath which considers
the platform-specific path separator.
Signed-off-by: Reinhard Nägele <unguiculus@gmail.com>
If directories are deleted from a chart, ct detects them as invalid
chart directories. A log message is printed to stdout which messes up
the regular output. In order to fix this, the message is now logged to
stderr.
*Example:*
```
$ ct list-changed
Directory 'charts/mychart/templates/deleted' is not a valid chart directory. Skipping...
charts/mychart
```
Signed-off-by: Reinhard Nägele <unguiculus@gmail.com>
* support execution of additional commands for lint
Given that helm unittest is installed locally or mounted into the chart
testing container one could use this to run helm unittest for each
chart.
```
additional-commands:
- helm unittest --helm3 -f tests/*.yaml {{ .Path }}
```
The command is treated as a go template. Like this it's possible to get
the path to the chart as in the example. It would also be open for
further extension if needed.
Signed-off-by: Torsten Walter <mail@torstenwalter.de>
* Use sh to execute command
Signed-off-by: Torsten Walter <mail@torstenwalter.de>
Co-authored-by: Reinhard Nägele <unguiculus@gmail.com>
* rename function to NewCmdTemplateExecutor
Signed-off-by: Torsten Walter <mail@torstenwalter.de>
* add error handling
Signed-off-by: Torsten Walter <mail@torstenwalter.de>
* add documentation
Signed-off-by: Torsten Walter <mail@torstenwalter.de>
* use go-shellwords to split rendered command
Signed-off-by: Torsten Walter <mail@torstenwalter.de>
* Update pkg/tool/cmdexecutor.go
Signed-off-by: Torsten Walter <mail@torstenwalter.de>
Co-authored-by: Reinhard Nägele <unguiculus@gmail.com>
* add unit tests
Signed-off-by: Torsten Walter <mail@torstenwalter.de>
Co-authored-by: Reinhard Nägele <unguiculus@gmail.com>
Referencing charts-repo-actions-demo should be beneficial for those
looking for more in-depth examples of how to use ct tool.
Fixes #241
Signed-off-by: Michał Sochoń <kaszpir@gmail.com>
Fixes a regression when the config file used is printed
to stdout even when the list-changed command is run. It is
now only printed when --print-config=true. Also, config printing
is now done to stderr so the flag can also be used in combination
with the list-changed command.
Signed-off-by: Reinhard Nägele <unguiculus@gmail.com>
By default, ct prints the config on startup. This can be problematic
because it may contain senstivie data when helm-repo-extra-args contains
passwords. The new flag enables turning off config printing and disables
it by default.
Signed-off-by: Reinhard Nägele <unguiculus@gmail.com>
The Homebrew formula installs the config files to Homebrew's
etc directory, so we add that to the search locations for config files.
Signed-off-by: Reinhard Nägele <unguiculus@gmail.com>
This reverts commit 5cb2b8c235 because it
prevented releasing bug fixes for previous versions from non-master
branches.
Signed-off-by: Reinhard Naegele <unguiculus@gmail.com>
* Fix a regression that would cause test results no to be printed on error
* No longer print usage output on error
Signed-off-by: Reinhard Naegele <unguiculus@gmail.com>
Adding support for Helm 3 introduced creating namespaces
because Helm does not do this automatically anymore.
However, a regression was introduced that always creates
namespaces, even if a dedicated namespace is provided via
CLI flag.
Signed-off-by: Reinhard Naegele <unguiculus@gmail.com>
* Fix statefulset test
Signed-off-by: Reinhard Naegele <unguiculus@gmail.com>
* Fix deployment apiVersion
Signed-off-by: Reinhard Naegele <unguiculus@gmail.com>
* Create custom namespace before test
Signed-off-by: Reinhard Naegele <unguiculus@gmail.com>
helm3 requires the timeout value to have a unit.
Without this, the test results in the following error:
```
Error: invalid argument "800" for "--timeout" flag: time: missing unit in duration 800
```
Signed-off-by: Sunny <darkowlzz@protonmail.com>