Commit Graph

228 Commits

Author SHA1 Message Date
Matt Farina 90a91e097f
Merge pull request #31198 from TerryHowe/fix-pkg-engine-error-parsing
fix: replace pkg/engine regular expressions with parser
2025-09-16 13:57:40 -06:00
reddaisyy 1c67fbf108 refactor: use strings.builder
Signed-off-by: reddaisyy <reddaisy@outlook.jp>
2025-09-15 17:13:58 +08:00
Terry Howe b2870379c8
Update pkg/engine/engine.go
Co-authored-by: George Jenkins <gvjenkins@gmail.com>
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-09-12 14:27:00 -06:00
Terry Howe 91a65234ac
Update pkg/engine/engine.go
Co-authored-by: George Jenkins <gvjenkins@gmail.com>
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-09-12 14:26:53 -06:00
Terry Howe 9112687a7e
Update pkg/engine/engine.go
Co-authored-by: George Jenkins <gvjenkins@gmail.com>
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-09-12 14:12:23 -06:00
bennsimon db50c37eda
remove metadata output on helm template
Signed-off-by: bennsimon <bennsimonotieno@gmail.com>
2025-09-12 13:21:07 +03:00
Jesse Simpson 712cde4624
test: passes now
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-09-07 10:42:24 -04:00
Jesse Simpson b060911075
refactor: break out into functions and draft tests
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-09-06 11:36:39 -04:00
Matt Farina 9dcc49cbd5 Move lint pkg to be part of each chart version
Linting is specific to the chart versions. A v2 and v3 chart will
lint differently.

To accomplish this, packages like engine need to be able to handle
different chart versions. This was accomplished by some changes:

1. The introduction of a Charter interface for charts
2. The ChartAccessor which is able to accept a chart and then
   provide access to its data via an interface. There is an
   interface, factory, and implementation for each version of
   chart.
3. Common packages were moved to a common and util packages.
   Due to some package loops, there are 2 packages which may
   get some consolidation in the future.

The new interfaces provide the foundation to move the actions
and cmd packages to be able to handle multiple apiVersions of
charts.

Signed-off-by: Matt Farina <matt.farina@suse.com>
2025-09-02 12:14:37 -04:00
Terry Howe 284bd980b6
fix: replace pkg/engine regular expressions with parser
Signed-off-by: Terry Howe <terrylhowe@gmail.com>
2025-08-27 10:44:56 -06:00
Scott Rigby 069b525332
Merge pull request #13586 from jessesimpson36/cleaner-stacktraces
build-test / build (push) Waiting to run Details
CodeQL / Analyze (go) (push) Waiting to run Details
golangci-lint / golangci-lint (push) Waiting to run Details
release / release (push) Waiting to run Details
release / canary-release (push) Waiting to run Details
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run Details
fix: add formatting for errors to make multiline stacktraces in helm templates
2025-06-03 21:37:54 -04:00
yetyear 03448d1d79 refactor: use maps.Copy for cleaner map handling
Signed-off-by: yetyear <flite@outlook.com>
2025-05-09 14:33:25 +08:00
George Jenkins a1f8802de9
Merge pull request #30553 from Zhanweelee/add_mustToYaml_support
build-test / build (push) Has been cancelled Details
CodeQL / Analyze (go) (push) Has been cancelled Details
golangci-lint / golangci-lint (push) Has been cancelled Details
release / release (push) Has been cancelled Details
release / canary-release (push) Has been cancelled Details
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled Details
feat: Add mustToYaml and mustToJson template functions
2025-05-06 20:56:40 -07:00
Jesse Simpson e0a67b1028
test: use more realistic unit-test scenario by not relying on Release.Name
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:20:27 -04:00
Jesse Simpson d10c5f6429
style: trim space from formatted error messages
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:20:27 -04:00
Jesse Simpson 0e0a8cc765
fix: address no-template-associated type of error
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:20:26 -04:00
Jesse Simpson 013f27c294
fix: use errors.New instead of fmt.Errorf
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 868cdc261f
refactor: reduce flow-control operations
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 48922e21d1
refactor: use struct equality instead of comparing each composition
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson ac98e977c3
refactor: switch to while loop instead of for to reduce unnecessary variables
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 65084371c9
refactor: replace if MatchString with FindStringSubMatch
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 782f6c6409
refactor: shorten regex subexp syntax
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 4b9a9ecaf6
refactor: rename function and add doc-string
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 4f63c73353
refactor: remove impractical safety check
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 5202820f2f
refactor: define regexs at package scope
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson cbdc22128e
refactor: use strings.Builder instead of string concatenation
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson cdcf1bc601
style: remove unnecessary break
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 3cc4cb60ba
refactor: prevent duplicates being inserted rather than post-filtering
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson deea4a0d0e
refactor: remove more unnecessary format calls
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 13b232e061
refactor: make use of regexs for err parsing
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson daf4c34879
fix: use originalErr instead of formatting original error
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 98da3e28b6
fix: add some index checking and fixed a test that relied on type-checking
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 80d7a1b33f
style: make format
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 487f72b822
fix: added protection against while-true condition in unbounded for loop
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 6bb836374b
test: adjusted to make it more meaningful and to pass
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 383a758aec
fix: add quality checks to ensure formatted error doesnt remove important info
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson d8bec4e30f
fix: remove comparison from old error message to new
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson c481470985
style: renamed i variable for consistency
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 2e3f6dce28
fix: save to fileLocation rather than fileLocations[i] which gets overwritten
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson f09bbb8ab8
style: consolidate for loops
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 1357db4db1
style: removed variable only used once
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson a56daca82b
style: use interface functions instead of inline logic
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 87f9e2dc45
style: create String function for TraceableError representing one chunk of a stacktrace
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson 6cd0c0082a
fix: split up the multiline errors to be more vertical
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:28 -04:00
Jesse Simpson cc477e9f79
fix: adjust test to not require external chart
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:17:26 -04:00
Jesse Simpson 14f902c245
wip: draft at making cleaner stacktraces
Signed-off-by: Jesse Simpson <jesse.simpson36@gmail.com>
2025-04-24 19:16:09 -04:00
Justen Stall 280a9ddbdb
Merge branch 'main' into stdlib-errors-2
Signed-off-by: Justen Stall <39888103+justenstall@users.noreply.github.com>
2025-04-21 12:13:10 -04:00
Scott Rigby eb6e240cfe
Merge pull request #30734 from ipaqsa/feature/add-custom-template-funcs
feat(pkg/engine): add support for custom template funcs
2025-04-21 11:13:12 -04:00
Benoit Tigeot e2461de3c2
Fix test with toml bump
Signed-off-by: Benoit Tigeot <benoit.tigeot@lifen.fr>
2025-04-19 00:48:23 +02:00
Stepan Paksashvili b54349d9b2 fix(pkg/engine): allow to override all functions
Signed-off-by: Stepan Paksashvili <stepan.paksashvili@flant.com>
2025-04-18 10:29:56 +03:00