-
Notifications
You must be signed in to change notification settings - Fork 150
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
Flaky buildpack detection #232
Comments
Can you duplicate the flaky builds with |
@jesseshieh can we also have the contents of your |
Here is the full trace output. I ran the build twice. The first time |
Here are the contents of the files.
|
I can't make this happen. I built an image based on the v0.3.22 tag and composed an app dir like yours. Any other bits that could be different?
|
I was able to recreate the issue using this repo: https://github.com/praece/dokku-multi-test I put the output of my deploys in the dokku_trace_output folder, there is one example of it properly detecting multiple buildpacks and one where it just uses nodejs. I didn't get full trace output in the files for some reason, I'll try to get that done tonight. |
@kevinob11 thanks! I'll take a look ASAP. |
I still can't get this to happen locally. Can either of you pull down the latest herokuish (v0.3.25) and make it happen again? The more detail about your setup the better. |
Sure, I've never used herokuish outside of dokku, but the docs look pretty straightforward. I'll give it a shot asap, but it will likely be this weekend. Good explanation of my environment is available here: |
One weird thing I've noticed recently: in my setup, I use packer to generate a Google Compute Platform image based on ubuntu-1604-lts. Sometimes, when I generate an image (image A), the flakiness is there and no matter how many VMs I launch with image A, it's always flaky. Then, I'll generate another image (image B), and every new VM I launch with image B will not be flaky. So the flakiness seems to be baked into the image somehow. The thing that confuses me is that image A and image B are constructed from the exact same packer config. Here is a redacted excerpt from my packer file.
|
I just had this issue when trying to use Gigalixir. Took a while to figure out that my app was actually built as a Node.js app (since it has a I had to manually add a .buildpack file to make it work correctly. @jesseshieh Maybe the documentation could be updated to warn people of such possibilities. |
@x-ji thanks for the feedback! That's a good idea. I'll put it in the docs somewhere. Also happy to accept pull requests if you know a good place to put it. https://github.com/gigalixir/gigalixir-cli/blob/master/docs/source/main.rst |
👌 Didn't know the docs are open source. I can give it a try. |
@jesseshieh Added relevant information in the docs gigalixir/gigalixir-cli#48 |
When I run
docker run --rm -v /tmp/app:/tmp/app gliderlabs/herokuish /bin/herokuish buildpack build
, the buildpack detected can be flaky. Any help is appreciated!My app has a
.buildpack
file which means the00_buildpack-multi
should be detected.My app also has a
package.json
file, which means02_buildpack-nodejs
should also be detected, but because the buildpacks are ordered, I expect00_buildpack-multi
to be selected.When I run the build, I get
02_buildpack-nodejs
roughly 95% of the time and00_buildpack-multi
5% of the time.00_buildpack-multi
is not even detected.I did some testing and found that whatever buildpack is listed first gets randomly skipped and I'm not sure why. I manually deleted all the buildpacks, and installed 3 identical buildpacks. Sometimes herokuish reports 3 buildpacks detected, sometimes 2 buildpacks detected and it's always the first one that is skipped. I wasn't able to modify herokuish, but it almost seems as if buildpack-list() is not getting the first buildpack sometimes.
More details:
I'm trying to build an elixir app. I use
00_buildpack-multi
so that I can usehttps://github.com/HashNuke/heroku-buildpack-elixir
andhttps://github.com/gjaldon/heroku-buildpack-phoenix-static
, but phoenix creates apackage.json
file to compile static assets.What I'm seeing in my shell
Versions
The text was updated successfully, but these errors were encountered: