Giter VIP home page Giter VIP logo

Comments (13)

HashNuke avatar HashNuke commented on June 12, 2024 2

I'll take a look sometime next week. Just getting back to opensource.
@edmorley Thank you very much for posting details.

from heroku-buildpack-elixir.

KazW avatar KazW commented on June 12, 2024 1

@edmorley No problem, thanks for letting me know! Probably best to ping @jesseshieh as well.

As luck would have it, I was planning to rewrite my fork of this buildpack (elixir-buildpack/heroku-buildpack) in Ruby soon since I've recently had more free time open up for me.

I'll start the rewrite this weekend and take this into consideration when implementing it.

from heroku-buildpack-elixir.

edmorley avatar edmorley commented on June 12, 2024

It appears there are two issues:

1. Errors during the build don't cause the build to fail (not using Bash exit on error)

I've split this part out to #195.

from heroku-buildpack-elixir.

edmorley avatar edmorley commented on June 12, 2024

Annotating the commands in install_erlang() with the actual paths, gives:

  ln -s $(erlang_build_path) $(runtime_erlang_path)
  # --> `ln -s /tmp/tmp.123/erlang /app/.platform_tools/erlang`
  $(erlang_build_path)/Install -minimal $(runtime_erlang_path)
  # --> `/tmp/tmp.123/erlang/Install -minimal /app/.platform_tools/erlang`

  cp -R $(erlang_build_path) $(erlang_path)
  # --> `cp -R /tmp/tmp.123/erlang $BUILD_DIR/.platform_tools/erlang`

This is a problem when $BUILD_DIR is /app, since the cp -R tries to overwrite the symlink with the copied files.

It seems that this could be solved by either:

  1. Removing the symlink prior to the cp -R iff erlang_path == runtime_erlang_path
  2. Skipping the whole copy dance (and installing directly into /app) iff erlang_path == runtime_erlang_path

from heroku-buildpack-elixir.

edmorley avatar edmorley commented on June 12, 2024

@HashNuke @KazW Hi! Sorry to directly @ mention, but I'm keen to make sure that this buildpack does not break when we enable this new build behaviour on Heorku. As-is the app will crash at boot once the app has its next build after the change. We can temporarily exclude apps using this buildpack from the change, but long term this will start to cause issues, since other buildpacks will start to depend on the new behaviour.

from heroku-buildpack-elixir.

edmorley avatar edmorley commented on June 12, 2024

@KazW Grerat - thank you :-)

@jesseshieh @HashNuke - Do you know when you might be able to look at this?

from heroku-buildpack-elixir.

travismorrison avatar travismorrison commented on June 12, 2024

Hi

we use this buildpack. Now Heroku CI is unexpectedly failing to build elixir, with this error:

cp: cannot copy a directory, '/tmp/tmp.7zm6qLyqTL/erlang', into itself, '/app/.platform_tools/erlang/erlang'

Our last successful build was Friday.

Do you suppose this issue, and the resulting PR, speak to what we are seeing?

Glad to provide more information. I thought I would go light in my first inquiry, since it seemed very adjacent. Also glad to wait until the PR is merged and give it a whirl then, if you think it will be merged soon.

Thanks for all your work on this.

from heroku-buildpack-elixir.

HashNuke avatar HashNuke commented on June 12, 2024

@fivetanley Thank you for sending the PR. I've merged it.
@travismorrison Please do try out the latest buildpack from master branch and let us know. I'll publish a new version on Heroku once you confirm.

from heroku-buildpack-elixir.

HashNuke avatar HashNuke commented on June 12, 2024

@edmorley Unfortunately didn't find the time to do this myself. But I've merged @fivetanley's PR. I see your comments on it too. The PR was LGTM please do let me know if they cause issues and I'll revert.

from heroku-buildpack-elixir.

edmorley avatar edmorley commented on June 12, 2024

Please could this be reopened now that #200 has been reverted? :-)

from heroku-buildpack-elixir.

HashNuke avatar HashNuke commented on June 12, 2024

Reopening issue.

from heroku-buildpack-elixir.

travismorrison avatar travismorrison commented on June 12, 2024

@HashNuke did not seem to resolve the issue. We went on to lock our CI and deployment at this commit and are able to move forward with CI and deploy.

from heroku-buildpack-elixir.

KazW avatar KazW commented on June 12, 2024

@travismorrison If you'd like to test something that's experimental I have the rewrite that I mentioned earlier in this issue: https://github.com/KazW/heroku-buildpack/tree/ruby_rewrite

It works with a few apps I have, but will break if you used the phoenix asset buildpack; I haven't had a chance to fully test it out using hatchet yet, so it may have unexpected bugs.

If you need asset support with the phoenix buildpack, this branch should work: https://github.com/KazW/heroku-buildpack/tree/ruby_rewrite_compatability

from heroku-buildpack-elixir.

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.