Commit graph

162 commits

Author SHA1 Message Date
George Jenkins
0ae8e4f2cb [dev-v3] Bump Go v1.25, golangci-lint v2
Signed-off-by: George Jenkins <gvjenkins@gmail.com>
2025-12-21 12:35:53 -08:00
Benoit Tigeot
087fa18276
Bump toml
Looking at the [toml diff](https://github.com/BurntSushi/toml/compare/v1.4.0...v1.5.0). I think it's safe to change the test here.

For main: https://github.com/helm/helm/pull/30775

Closes: https://github.com/helm/helm/pull/30683
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-04-19 09:06:19 +02:00
Matt Farina
9f620b857a Update to Go 1.23
Multiple changes were made to pass linting. Some Go built-in names
are being used for variables (e.g., min). This happens in the Go
source itself including the Go standard library and is not always
a bad practice.

To handle allowing some built-in names to be used the linter config
is updated to allow (via opt-in) some names to pass. This allows us
to still check for re-use of Go built-in names and opt-in to any
new uses.

There were also several cases where a value was checked for nil
before checking its length when this is already handled by len()
or the types default value. These were cleaned up.

The license validation was updated because it was checking everything
in the .git directory including all remote content that was local.
The previous vendor directory was from a time prior to Go modules
when Helm handled dependencies differently. It was no longer needed.

Signed-off-by: Matt Farina <matt.farina@suse.com>
(cherry picked from commit 5727f56a96)
2024-12-28 12:06:27 -05:00
Nathan Baulch
ff9dd262e3
Fix typos
Signed-off-by: Nathan Baulch <nathan.baulch@gmail.com>
2024-09-14 10:29:56 +10:00
Fred Heinecke
30ce031d77 Merge branch 'main' into feat/add-toyamlpretty-1 2024-09-12 13:00:22 -05:00
Joe Julian
1c73ea44ad
Merge remote-tracking branch 'upstream/main' into feat/toml-parsing
Signed-off-by: Joe Julian <me@joejulian.name>
2024-09-12 08:48:58 -07:00
fheinecke
e502486109
Merge branch 'main' into feat/add-toyamlpretty-1
Signed-off-by: fheinecke <23390735+fheinecke@users.noreply.github.com>
2024-05-15 17:53:52 -05:00
Robert Sirchia
d58d7b3762 Fixing all the linting errors
Cleaned up all the linting errors we are getting.

Signed-off-by: Robert Sirchia <rsirchia@outlook.com>
2024-03-11 17:13:34 -04:00
Matt Farina
7fd08041b1
Merge pull request #12617 from porridge/dynamic-client
feature(pkg/engine): introduce RenderWithClientProvider
2024-01-08 21:30:59 -05:00
Andrew Block
77d54d7dbe
Merge pull request #11351 from greed42/fast-tpl
Speed up `tpl`
2024-01-08 16:51:29 -06:00
Marcin Owsiany
a997de1f11 tests(pkg/engine): test RenderWithClientProvider
Signed-off-by: Marcin Owsiany <porridge@redhat.com>
2024-01-03 12:04:20 +01:00
Marcin Owsiany
bfec4ec926 feature(pkg/engine): introduce RenderWithClientProvider
Signed-off-by: Marcin Owsiany <porridge@redhat.com>
2023-12-18 10:02:57 +01:00
Fred Heinecke
73f1dcc1d9 Added toYamlPretty template function
Signed-off-by: Fred Heinecke <fred.heinecke@goteleport.com>
2023-12-12 20:42:51 -06:00
Joe Julian
c42fdd1e0b
Merge remote-tracking branch 'upstream/main' into fix3 2023-08-08 23:05:02 -07:00
Graham Reed
b261a1b1be Test update for "Allow a nested tpl invocation access to defines in a containing one"
Signed-off-by: Graham Reed <greed@7deadly.org>
2023-08-01 00:49:26 +01:00
Graham Reed
36d417de3b Test update for "Speed up tpl"
Signed-off-by: Graham Reed <greed@7deadly.org>
2023-08-01 00:49:26 +01:00
Graham Reed
97dbb96f5a Merge remote-tracking branch 'origin/main' into fast-tpl
Signed-off-by: Graham Reed <greed@7deadly.org>
2023-08-01 00:48:54 +01:00
Joe Julian
ca61c326c2
Merge pull request #11758 from joejulian/remove_blank_list_item_from_files_lines
strip trailing newline from Files.Lines
2023-07-24 19:16:28 -07:00
Joe Julian
ec1d0d8671
Merge pull request #11456 from greed42/tpl-tests
Backfill tests for the `tpl` function
2023-07-12 17:21:07 -07:00
Graham Reed
95905f19dd Work around template.Clone omitting options
Signed-off-by: Graham Reed <greed@7deadly.org>
2023-05-11 22:32:25 +01:00
Graham Reed
f235f0f285 Check that missing keys are still handled in tpl
Signed-off-by: Graham Reed <greed@7deadly.org>
2023-05-11 22:16:30 +01:00
Dominik Müller
266ab5af05 test(pkg/engine): add tests for TOML parsing
Signed-off-by: Dominik Müller <mail@dominikm.de>
2023-04-25 14:07:13 +02:00
Dominik Müller
f550eda6e9 feat(pkg/engine): add TOML parsing functionality
Allows to use `fromToml` in templates similar to `fromJson` or `fromYaml`.
Closes #12024

Signed-off-by: Dominik Müller <mail@dominikm.de>
2023-04-25 14:06:58 +02:00
Joe Julian
b3707e666b
strip trailing newline from Files.Lines
Signed-off-by: Joe Julian <me@joejulian.name>
2023-04-18 16:18:36 -07:00
Matt Farina
50c22ed7f9
Bump the Go version
Needed to gofmt source to meet changes in style

Signed-off-by: Matt Farina <matt.farina@suse.com>
2023-03-22 11:29:26 -04:00
AdamKorcz
2a9594c0fe pkg/engine: fix nil-dereference
Signed-off-by: AdamKorcz <adam@adalogics.com>
2023-03-22 15:15:00 +00:00
Matt Farina
863bc74e5a
Update to func handling
Signed-off-by: Matt Farina <matt@mattfarina.com>
2023-02-03 15:36:32 -05:00
Graham Reed
9fe912f3c5 Check redefinition of define and include in tpl
Signed-off-by: Graham Reed <greed@7deadly.org>
2022-10-20 16:25:36 +01:00
Graham Reed
ebf5e1e2af Check that .Template is passed through tpl
Signed-off-by: Graham Reed <greed@7deadly.org>
2022-10-20 16:25:36 +01:00
Graham Reed
0a6e7d95ab Make sure empty tpl values render empty.
Signed-off-by: Graham Reed <greed@7deadly.org>
2022-10-20 16:25:36 +01:00
Graham Reed
d1e9a242a7 Pick the test improvement out of PR#8371
<https://github.com/helm/helm/pull/8371>

This covers:
  - `tpl` text can `include` a `define` provided in a partial file
  - `tpl` text can `include` a `define` provided in its text
  - `tpl` text can be loaded via `.Files.Get`

Signed-off-by: Graham Reed <greed@7deadly.org>
2022-10-20 16:25:09 +01:00
Graham Reed
a7d3fd6c09 Allow a nested tpl invocation access to defines in a containing one
Signed-off-by: Graham Reed <greed@7deadly.org>
2022-10-20 15:42:06 +01:00
Graham Reed
e2a7c7998a Remove the 'reference templates' concept
As we're using `t.Clone()` we already get the right 'references'.

Signed-off-by: Graham Reed <greed@7deadly.org>
2022-10-20 15:40:54 +01:00
cui fliter
09d3f31358 fix a few function names on comments
Signed-off-by: cui fliter <imcusg@gmail.com>
2022-10-17 20:41:59 +08:00
Graham Reed
db4f330122 Speed up tpl
- Use a clone of the current Template instead of re-creating everything from scratch
- Needs to inject `include` so any defines in the tpl text can be seen.

Signed-off-by: Graham Reed <greed@7deadly.org>
2022-09-16 14:13:01 +01:00
Matthew Fisher
aa6e82bac8
fix: use go install instead of go get
Signed-off-by: Matthew Fisher <matt.fisher@fermyon.com>
2022-07-06 13:34:15 -07:00
Matt Farina
f895948ae2
Fixing issue with non-existant .Template when using tpl function
This is a regression accidently introduced in #9957.

A delete call had been used on the Template key of vals. This caused
a condition where Template was not available when rendering via tpl.
The delete happened after ExecuteTemplate so the issue is surpsising.
It may possibly be a race condition. Existing tests did not catch it.
I tried to create a test that directly tested the issue and was
unable to replicate the error seen with real charts. This leads me
to believe it is a race condition in the underlying Go template
package.

The delete call was not there before #9957. It should be safe to
remove and keep that information.

Closes #10082

Signed-off-by: Matt Farina <matt.farina@suse.com>
2021-08-31 10:19:54 -04:00
Matt Farina
ac80a5eec9
Merge branch 'main' into feat/subcharts-scope 2021-08-25 10:18:31 -04:00
Matt Farina
2de6f9d424
Merge pull request #9993 from Ka0o0/make-isroot-available-to-template
Make Chart's IsRoot available to templates
2021-08-25 10:14:05 -04:00
Kai Takac
8fcaf7b85c Add Chart IsRoot test
Signed-off-by: Kai Takac <kai.takac@gmail.com>
2021-08-23 20:10:37 +02:00
Kai Takac
06ae6f933a Make Chart's IsRoot available to templates
Signed-off-by: Kai Takac <kai.takac@gmail.com>
2021-08-23 19:27:41 +02:00
Cory Snider
79df3926f6 fix(engine): parse fail messages with newlines
The templating engine handles errors originating from the `required` and
`fail` template functions specially, cleaning up the error messages to
be more presentable to users. Go's text/template package unfortunately
does not make this straightforward to implement. Despite
template.ExecError implementing Unwrap, the error value returned from
the template function cannot be retrieved using errors.As. The wrapped
error in ExecError is a pre-formatted error string with the template
function's error string interpolated in with the original error value
erased. Helm works around this limitation by delimiting the
template-supplied message and extracting the message out of the
ExecError string with a regex.

Fix the parsing of `required` and `fail` error messages containing
newlines by setting the regex flag to make `.` match newline characters.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2021-08-10 12:38:43 -04:00
Valentin Flaux
3daaea0a1c feat(pkg/engine): expose subcharts scope in parent
Expose the scope (.Values, .Charts, .Releases etc.) of subcharts to the parent scope.

Signed-off-by: Valentin Flaux <vflaux@oui.sncf>
2021-07-20 12:24:27 +02:00
Martin Hickey
dffc2a30c7
Merge pull request #9035 from wizbit/fail-message
Fail message is now the same as the required message.
2021-06-02 12:26:39 +01:00
Martin Hickey
699ea6dcef
Merge pull request #9066 from scaat/fix-specification
[FIX]Unified go specification
2021-06-02 11:55:53 +01:00
Josh Soref
2bf8fdf45d
chore: Spelling (#9410)
* spelling: annotate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: asserts

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: behavior

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: binary

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: contain

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: copied

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dependency

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: depending

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: deprecated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: doesn't

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: donot

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: github

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: inputting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: iteration

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: jabberwocky

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: kubernetes

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: length

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: mismatch

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: multiple

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: nonexistent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: outputs

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: panicking

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: plugins

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: parsing

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: porthos

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: regular

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: resource

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: repositories

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: something

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: strict

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: string

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unknown

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2021-03-15 21:11:57 -04:00
Marcus Speight
7a663a56c2 Fixed Test
Signed-off-by: Marcus Speight <marcus.speight@hotmail.co.uk>
Signed-off-by: Marcus Speight <marcus@pmconnect.co.uk>
2020-12-07 14:58:40 +00:00
Marcus Speight
8aa42824f9 Added test for lint mode
Signed-off-by: Marcus Speight <marcus.speight@hotmail.co.uk>
2020-12-02 18:24:00 +00:00
Scaat Feng
1852694a65 [FIX]comment should start with whitespace
Signed-off-by: Scaat Feng <scaat.feng@gmail.com>
2020-11-26 14:03:41 +08:00
Marcus Speight
7a0739a863 Fail message is now the same as the required message.
Fixed #8973 Helm function 'fail' should not fail when doing 'helm lint'

Signed-off-by: Marcus Speight <marcus.speight@hotmail.co.uk>
2020-11-19 08:10:38 +00:00