Giter Site home page Giter Site logo

Comments (3)

lilatomic avatar lilatomic commented on August 22, 2024

seems Pants is only identifying changes if made to the HelmChartMetaSourceField (the "chart.yaml" itself) and not to the HelmChartSourcesField. I think this is an interaction of things that get a sources field expecting only 1 sources field.

from pants.

lilatomic avatar lilatomic commented on August 22, 2024

Confirming, we get tgt[SourcesField]. Since the chart itself is a SourcesField, this getitem gives just the chart.

Get(HydratedSources, HydrateSourcesRequest(tgt[SourcesField]))

I remember that we had a similar problem with the Terraform backend, for handling tfvars and tfbackend files. My first pass was to use separate sources fields, which ran into this problem. We ended up creating separate target types, which was also helpful for other terraform things (multiple deployments for the same module). (In theory, we could create this as a synthetic target, since "chart.yaml" is a good indicator that this is a Helm chart.) We could also remove it as a sources field, and pull it in with with a pathglob. (We used to pull in terraform lockfiles with a pathglob, and now we do that with a synthetic target.)

@alonsodomin thoughts?

from pants.

alonsodomin avatar alonsodomin commented on August 22, 2024

yeah, I think this is a result of the helm_chart target having two different sources fields. IIRC There was a similar issue reported some time ago in Slack but it never made as a bug report.

Anyway, it's quite likely that some refactoring will be needed in terms of targets, separating the responsibilities of the helm_chart target into one that points to the Chart.yaml specifically and another one for capturing the chart sources. I assume the change can be done in a way it doesn't affect end users by preserving the helm_chart target but converting it to a target generator for the other two.

from pants.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.