mcollina / heroku-buildpack-graphicsmagick

67 stars 77 forks source link

Should this work with the offical multi buildpacks solution? #20

Closed PanMan closed 8 years ago

PanMan commented 8 years ago

as explained at https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app ? Because for me it doesn't, when combined with the NodeJS buildpack :(

Dhaulagiri commented 8 years ago

What is the problem you are seeing @PanMan?

PanMan commented 8 years ago

Ah, I could have explained that better, yes :) When I do:

heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs
heroku buildpacks:add --index 1 https://github.com/mcollina/heroku-buildpack-graphicsmagick

and then push to the repo, I get:

remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Multipack app detected
remote: -----> Fetching custom buildpack https://github.com/mcollina/heroku-buildpack-graphicsmagick... done
remote:
remote:  !     Push rejected, failed to detect
remote:
remote: Verifying deploy...
remote:
remote: !   Push rejected to myrepo-dev
remote:
To https://git.heroku.com/myrepo-dev.git
 ! [remote rejected] panman-heroku -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/myrepo-dev.git'

Any ideas?

Dhaulagiri commented 8 years ago

FWIW, we had a lot of problems getting this buildpack to work so we switched to using the apt buildpack with a corresponding Aptfile that has graphicsmagick in it.

benalavi commented 8 years ago

@PanMan Didn't realize Heroku officially supports multiple buildpacks, haven't tested it but will have to give it a shot. Based on the linked article I think your problem is that Heroku can't detect what to run because (I think) you added the graphicsmagick buildpack after the node-js buildpack. I think the error "failed to detect" is Heroku saying it can't figure out what sort of app you're trying to run. I imagine if you reverse the order it should work.

Based that on the doc here:

The last buildpack in the list will be used to determine the process types for the application. Any process types defined from earlier buildpacks will be ignored.

So I think it's trying to determine "process types" based on the graphicsmagick buildpack and failing.

Dhaulagiri commented 8 years ago

That is correct

benalavi commented 8 years ago

@PanMan @Dhaulagiri I was wrong, just tested w/ ruby buildpack. Heroku changed their buildpack API a tiny bit and that is what was causing the problem. Looking at the actual build output it failed at graphicsmagick and didn't even try node first so I think you had the order correct.

Should be fixed but if it still fails lmk and I will reopen.