herokuish
herokuish copied to clipboard
Build in multi buildpack support and app.json support
A few elements for context
- Heroku now supports multiple buildpacks natively. Is not necessary to use the heroku-buildpack-multi.
- As far as I understand, herokuish rely on buildpack-multi to run multiple buildpacks.
- With the new addition of the
buildpack testcommand, is necessary to use a custom made buildpack-multi to run tests if your app needs multiple buildpacks or run tests from multiple environments. - buildpack-multi use the
.buildpackfile to define runtimebuildpacks, and heroku use theapp.jsonfor that. The keybuildpackin theapp.jsonis only used on app creation, but the keyenvironment.test.buildpacksis used dynamically whenever tests run. - Heroku execute scripts defined in the
app.jsonscriptskey if they are defined (instead of the defaults from the buidlpacks)
I would love to open the discussion on how to use herokuish to run tests leveraging the buildpacks Tespack Api, having zero-config tests that can run on cloud continuous integration services of your choice.
Some questions I have:
- Should herokuish read/parse the
app.jsonfile and:- use the
buildpackskey to load buildpacks in thebuildpack buildcommand - use the
environment.test.buildpackskey to load buildpacks in thebuildpack testcommand - use the
scripts.testandscripts.test-setupkeys to excute custom commands on thebuildpack test
- use the
You can do multiple buildpacks in a few different ways:
- using the buildpacks api to inject them (heroku only)
- multi-buildpacks (the
.buildpacksfile) - app.json parsing