New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(helmfile): make resolving deps in multi-doc files more stable #26078
fix(helmfile): make resolving deps in multi-doc files more stable #26078
Conversation
8764338
to
81ebf1b
Compare
dacc0fa
to
2c45d37
Compare
2c45d37
to
80ba2d0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have any other cases where we parse multi-doc yaml files in a manager? I would like to compare the approaches in case there are any "gotchas" we've found elsewhere which should be ported here
@rarkins There are a few others, like Flux or Kubernetes, easy to find searching for |
Most uses of parseYaml are for non multi-docs |
This comment was marked as resolved.
This comment was marked as resolved.
Yeah, I only did until the first review :) |
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just a small test thing
🎉 This PR is included in version 37.83.4 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
Changes
Renovate doesn't manage to resolve dependencies anymore when there is a YAML document separator between repositories and releases. This is achieved by not
continue
'ing anymore when the document doesn't contain a releases block. Repositories that have potentionally been discovered in a document before are overriden (same as YAML would do).Context
The Renovate dependency resolution breaks when a Helmfile contains a document separator between the repositories and the releases blocks. Using a document separator can be necessary when working with environments, as the following example Helmfile output shows:
Since these blocks are lists, they can not be extended in later documents. so e.g. a repositories list defined in the first document would completely be overridden by a repositories list in a later document (that's normal YAML behaviour). The Renovate manager should be adjusted to mimic this behaviour and properly support multi-document Helmfiles.
The following simple example from the Helmfile documentation can be used for reproducing the issue.
Before working:
Before not working:
With this PR, both variants are now working.
Documentation (please check one with an [x])
How I've tested my work (please select one)
I have verified these changes via:
Closes #26077