GithubHelp home page GithubHelp logo

Comments (11)

robdimsdale avatar robdimsdale commented on August 29, 2024

@paketo-buildpacks/ruby-maintainers I'm happy to take a look at implementing this. The proposal above makes sense to me (and would be a PR to the ruby buildpack) but I recognize I might be missing some context.

Any other thoughts before I take a look at implementing this?

from rake.

sophiewigmore avatar sophiewigmore commented on August 29, 2024

@robdimsdale sounds good to me! I don't think I have anything to add here. I can assign you to the issue

from rake.

robdimsdale avatar robdimsdale commented on August 29, 2024

I opened a PR for this over at paketo-buildpacks/ruby#757 - happy to take the discussion there.

from rake.

sophiewigmore avatar sophiewigmore commented on August 29, 2024

@robdimsdale I might have blanked out a bit when I first said that it would only be a language family change, apologies. This build provides a launch web process, so unless I've misunderstood, I think that this buildpack would need to change to run a command during build, rather than contribute a start command.

from rake.

robdimsdale avatar robdimsdale commented on August 29, 2024

No problem! I didn't think it could be that easy!

I'll redirect my attention (and the conversation) back to this buildpack.

It's not immediately obvious to me how to differentiate between running a command as a web launch process (the current behavior) and running commands during the build phase instead. I can do some research, but do you have any ideas off the top of your head?

from rake.

sophiewigmore avatar sophiewigmore commented on August 29, 2024

I can't think of any buildpacks that do both in a conditional way outlined in this issue. Running a command during the build phase would look more like what the Dotnet Publish CNB does, and running a launch process looks more like what Dotnet Execute CNB does.

from rake.

robdimsdale avatar robdimsdale commented on August 29, 2024

Yeah, I think I see two options to achieve this conditional behavior of build-time execution vs launch-time execution.

  1. Use an environment variable to instruct this buildpack whether to run during build or create a launch command
  2. Create a separate buildpack for running commands during build, and leave this one as launch-only. This is essentially the same thing as the .NET buildpacks you linked to.

Honestly, I don't like either of these solutions. Do you have any other suggestions? cc @paketo-buildpacks/ruby-maintainers

from rake.

sophiewigmore avatar sophiewigmore commented on August 29, 2024

@robdimsdale I'd be inclined to create a new buildpack so we can have a separation of concerns. It's unfortunate because there's so much overlap between the buildpacks, but the detection criteria would probably get a bit messy, and the build phase would have to return two separate results.

from rake.

sophiewigmore avatar sophiewigmore commented on August 29, 2024

Kashyap filed this issue a while ago, but it's unclear if he did so because he had heard of interest in this feature, or if it was just an idea. It may not even be worth supporting unless it's something folks want, which AFAIK we haven't

from rake.

robdimsdale avatar robdimsdale commented on August 29, 2024

Yeah, I'm not super keen on the idea of creating a new buildpack unless there's a clear need. Ruby already has a lot of buildpacks. Do you know if we've heard of any additional requests for this feature?

If we don't have a lot of feedback suggesting this is valuable, I would propose closing this issue without implementing it, as the complexity and maintenance burden is non-trivial.

from rake.

ryanmoran avatar ryanmoran commented on August 29, 2024

If we don't have a lot of feedback suggesting this is valuable, I would propose closing this issue without implementing it, as the complexity and maintenance burden is non-trivial.

I'm onboard with this idea.

from rake.

Related Issues (8)

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.