heroku / heroku-builds

Builds API CLI plugin
ISC License
134 stars 27 forks source link

Feature request: ability to ignore files #103

Open nertzy opened 2 years ago

nertzy commented 2 years ago

The heroku builds:create command is very similar to Cloud Foundry's cf push. One feature I liked in the Cloud Foundry CLI that is missing in this plugin is the ability to list files that you do not want to push up to the Heroku build server.

Cloud Foundry has a .cfignore file that allows you to exclude certain files from your local directory, even if they are not in the .gitignore.

See: https://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html#-ignore-unnecessary-files-when-pushing

I would use this feature to exclude files that end up on my filesystem as part of the build process (such as a .bundle/config file that is generated in my Rails application's GitHub Actions build process) that are interfering with my Heroku build.

I would also be able to exclude my tests and other files that are not necessary at runtime. I know I can exclude them from the slug with a .slugignore file, but it seems wasteful to upload them only for them to be unused and eventually removed.

nertzy commented 2 years ago

I just noticed a workaround for now. I can build my own tar and then run:

heroku builds:create --source-tar master.tar.gz -a example-app

https://github.com/heroku/heroku-builds#create-build-from-local-tarball

It would still be easier to have the CLI do this for me, but at least I'm not blocked.

nertzy commented 2 years ago

(Hi, @mars! Long time no see!)