Can Selenium and Chrome buildpack installs be cached on HerokuCI?












6















I've just started using HerokuCI. I have a few Selenium tests so I've added buildpacks in my app.json.



{
"buildpacks": [
{ "url": "heroku/ruby" }
],
"environments": {
"test": {
"addons": ["heroku-postgresql:in-dyno", "heroku-redis:in-dyno"],
"buildpacks": [
{ "url": "heroku/ruby" },
{ "url": "https://github.com/notvad/heroku-buildpack-selenium" },
{ "url": "https://github.com/heroku/heroku-buildpack-chromedriver" },
{ "url": "https://github.com/heroku/heroku-buildpack-google-chrome" }
],
"env": {
"REDIS_PROVIDER": "REDIS_URL",
"RAILS_ENV": "test",
"RACK_ENV": "test",
"MALLOC_ARENA_MAX": 2,
"LANG": "en_US.UTF-8",
"TEST_API": 1
},
"scripts": {
"test-setup": "./bin/setup-cc-test-reporter",
"test": "./bin/test-with-cc-test-reporter"
}
}
}
}


These keep getting rebuilt along with all their dependencies.



-----> Selenium app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
-----> Updating apt caches
Hit:1 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Reading package lists...
-----> Fetching .debs for xserver-xorg-core libgl1-mesa-dri xvfb libglide3 xfs unzip
Reading package lists...
Building dependency tree...
Package xfs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'xfs' has no installation candidate
-----> Installing adwaita-icon-theme_3.28.0-1ubuntu1_all.deb
-----> Installing at-spi2-core_2.28.0-1_amd64.deb

...and so on...

-----> Downloading and installing Selenium
-----> Writing profile script
-----> chromedriver app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
bash: /tmp/buildpacks/f55d0db8af2b8c70f2c0e028ef5430955852d9e4f07a06e333e54eb5264a81b9d1e77d1cc02851b4c7da30f6da47b13959e18a24c630212b899920d05f32a566/export: No such file or directory
-----> Looking up latest chromedriver version...
-----> Downloading chromedriver v2.43...
Archive: /tmp/chromedriver.zip
inflating: /app/.chromedriver/bin/chromedriver
-----> Creating chromedriver export scripts...
-----> Google Chrome app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
bash: /tmp/buildpacks/f55d0db8af2b8c70f2c0e028ef5430955852d9e4f07a06e333e54eb5264a81b9d1e77d1cc02851b4c7da30f6da47b13959e18a24c630212b899920d05f32a566/export: No such file or directory
bash: /tmp/buildpacks/27353aa3b5edb2f8361186206e863f5d481f02805d02f0efdec439f3d30349a4fbdad2951af33a0492023fb0d90d26dafda6fe76f1b2d34f68564a98545f7022/export: No such file or directory
-----> Installing Google Chrome from the stable channel.
-----> Updating apt caches
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Reading package lists...
-----> Fetching .debs for gconf-service

...and so on...


This is taking up most of the test run time.



Can these installs be cached?










share|improve this question

























  • What is you CLI to launch the process?

    – Bsquare ℬℬ
    Nov 29 '18 at 13:43











  • @Bsquare Sorry, I'm not sure I understand what you're asking.

    – Schwern
    Nov 29 '18 at 16:26











  • I mean, what is the command you launch to get this behaviour?

    – Bsquare ℬℬ
    Nov 29 '18 at 16:27











  • @Bsquare I don't have direct control. It's launched as a Github PR hook provided by Heroku. I don't control provisioning the CI dyno directly. Instead it's by specifying buildpacks in a configuration file. See devcenter.heroku.com/articles/…

    – Schwern
    Nov 29 '18 at 16:41













  • Ok, I'm going to analyse that ;)

    – Bsquare ℬℬ
    Nov 29 '18 at 17:00
















6















I've just started using HerokuCI. I have a few Selenium tests so I've added buildpacks in my app.json.



{
"buildpacks": [
{ "url": "heroku/ruby" }
],
"environments": {
"test": {
"addons": ["heroku-postgresql:in-dyno", "heroku-redis:in-dyno"],
"buildpacks": [
{ "url": "heroku/ruby" },
{ "url": "https://github.com/notvad/heroku-buildpack-selenium" },
{ "url": "https://github.com/heroku/heroku-buildpack-chromedriver" },
{ "url": "https://github.com/heroku/heroku-buildpack-google-chrome" }
],
"env": {
"REDIS_PROVIDER": "REDIS_URL",
"RAILS_ENV": "test",
"RACK_ENV": "test",
"MALLOC_ARENA_MAX": 2,
"LANG": "en_US.UTF-8",
"TEST_API": 1
},
"scripts": {
"test-setup": "./bin/setup-cc-test-reporter",
"test": "./bin/test-with-cc-test-reporter"
}
}
}
}


These keep getting rebuilt along with all their dependencies.



-----> Selenium app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
-----> Updating apt caches
Hit:1 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Reading package lists...
-----> Fetching .debs for xserver-xorg-core libgl1-mesa-dri xvfb libglide3 xfs unzip
Reading package lists...
Building dependency tree...
Package xfs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'xfs' has no installation candidate
-----> Installing adwaita-icon-theme_3.28.0-1ubuntu1_all.deb
-----> Installing at-spi2-core_2.28.0-1_amd64.deb

...and so on...

-----> Downloading and installing Selenium
-----> Writing profile script
-----> chromedriver app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
bash: /tmp/buildpacks/f55d0db8af2b8c70f2c0e028ef5430955852d9e4f07a06e333e54eb5264a81b9d1e77d1cc02851b4c7da30f6da47b13959e18a24c630212b899920d05f32a566/export: No such file or directory
-----> Looking up latest chromedriver version...
-----> Downloading chromedriver v2.43...
Archive: /tmp/chromedriver.zip
inflating: /app/.chromedriver/bin/chromedriver
-----> Creating chromedriver export scripts...
-----> Google Chrome app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
bash: /tmp/buildpacks/f55d0db8af2b8c70f2c0e028ef5430955852d9e4f07a06e333e54eb5264a81b9d1e77d1cc02851b4c7da30f6da47b13959e18a24c630212b899920d05f32a566/export: No such file or directory
bash: /tmp/buildpacks/27353aa3b5edb2f8361186206e863f5d481f02805d02f0efdec439f3d30349a4fbdad2951af33a0492023fb0d90d26dafda6fe76f1b2d34f68564a98545f7022/export: No such file or directory
-----> Installing Google Chrome from the stable channel.
-----> Updating apt caches
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Reading package lists...
-----> Fetching .debs for gconf-service

...and so on...


This is taking up most of the test run time.



Can these installs be cached?










share|improve this question

























  • What is you CLI to launch the process?

    – Bsquare ℬℬ
    Nov 29 '18 at 13:43











  • @Bsquare Sorry, I'm not sure I understand what you're asking.

    – Schwern
    Nov 29 '18 at 16:26











  • I mean, what is the command you launch to get this behaviour?

    – Bsquare ℬℬ
    Nov 29 '18 at 16:27











  • @Bsquare I don't have direct control. It's launched as a Github PR hook provided by Heroku. I don't control provisioning the CI dyno directly. Instead it's by specifying buildpacks in a configuration file. See devcenter.heroku.com/articles/…

    – Schwern
    Nov 29 '18 at 16:41













  • Ok, I'm going to analyse that ;)

    – Bsquare ℬℬ
    Nov 29 '18 at 17:00














6












6








6








I've just started using HerokuCI. I have a few Selenium tests so I've added buildpacks in my app.json.



{
"buildpacks": [
{ "url": "heroku/ruby" }
],
"environments": {
"test": {
"addons": ["heroku-postgresql:in-dyno", "heroku-redis:in-dyno"],
"buildpacks": [
{ "url": "heroku/ruby" },
{ "url": "https://github.com/notvad/heroku-buildpack-selenium" },
{ "url": "https://github.com/heroku/heroku-buildpack-chromedriver" },
{ "url": "https://github.com/heroku/heroku-buildpack-google-chrome" }
],
"env": {
"REDIS_PROVIDER": "REDIS_URL",
"RAILS_ENV": "test",
"RACK_ENV": "test",
"MALLOC_ARENA_MAX": 2,
"LANG": "en_US.UTF-8",
"TEST_API": 1
},
"scripts": {
"test-setup": "./bin/setup-cc-test-reporter",
"test": "./bin/test-with-cc-test-reporter"
}
}
}
}


These keep getting rebuilt along with all their dependencies.



-----> Selenium app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
-----> Updating apt caches
Hit:1 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Reading package lists...
-----> Fetching .debs for xserver-xorg-core libgl1-mesa-dri xvfb libglide3 xfs unzip
Reading package lists...
Building dependency tree...
Package xfs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'xfs' has no installation candidate
-----> Installing adwaita-icon-theme_3.28.0-1ubuntu1_all.deb
-----> Installing at-spi2-core_2.28.0-1_amd64.deb

...and so on...

-----> Downloading and installing Selenium
-----> Writing profile script
-----> chromedriver app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
bash: /tmp/buildpacks/f55d0db8af2b8c70f2c0e028ef5430955852d9e4f07a06e333e54eb5264a81b9d1e77d1cc02851b4c7da30f6da47b13959e18a24c630212b899920d05f32a566/export: No such file or directory
-----> Looking up latest chromedriver version...
-----> Downloading chromedriver v2.43...
Archive: /tmp/chromedriver.zip
inflating: /app/.chromedriver/bin/chromedriver
-----> Creating chromedriver export scripts...
-----> Google Chrome app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
bash: /tmp/buildpacks/f55d0db8af2b8c70f2c0e028ef5430955852d9e4f07a06e333e54eb5264a81b9d1e77d1cc02851b4c7da30f6da47b13959e18a24c630212b899920d05f32a566/export: No such file or directory
bash: /tmp/buildpacks/27353aa3b5edb2f8361186206e863f5d481f02805d02f0efdec439f3d30349a4fbdad2951af33a0492023fb0d90d26dafda6fe76f1b2d34f68564a98545f7022/export: No such file or directory
-----> Installing Google Chrome from the stable channel.
-----> Updating apt caches
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Reading package lists...
-----> Fetching .debs for gconf-service

...and so on...


This is taking up most of the test run time.



Can these installs be cached?










share|improve this question
















I've just started using HerokuCI. I have a few Selenium tests so I've added buildpacks in my app.json.



{
"buildpacks": [
{ "url": "heroku/ruby" }
],
"environments": {
"test": {
"addons": ["heroku-postgresql:in-dyno", "heroku-redis:in-dyno"],
"buildpacks": [
{ "url": "heroku/ruby" },
{ "url": "https://github.com/notvad/heroku-buildpack-selenium" },
{ "url": "https://github.com/heroku/heroku-buildpack-chromedriver" },
{ "url": "https://github.com/heroku/heroku-buildpack-google-chrome" }
],
"env": {
"REDIS_PROVIDER": "REDIS_URL",
"RAILS_ENV": "test",
"RACK_ENV": "test",
"MALLOC_ARENA_MAX": 2,
"LANG": "en_US.UTF-8",
"TEST_API": 1
},
"scripts": {
"test-setup": "./bin/setup-cc-test-reporter",
"test": "./bin/test-with-cc-test-reporter"
}
}
}
}


These keep getting rebuilt along with all their dependencies.



-----> Selenium app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
-----> Updating apt caches
Hit:1 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Reading package lists...
-----> Fetching .debs for xserver-xorg-core libgl1-mesa-dri xvfb libglide3 xfs unzip
Reading package lists...
Building dependency tree...
Package xfs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'xfs' has no installation candidate
-----> Installing adwaita-icon-theme_3.28.0-1ubuntu1_all.deb
-----> Installing at-spi2-core_2.28.0-1_amd64.deb

...and so on...

-----> Downloading and installing Selenium
-----> Writing profile script
-----> chromedriver app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
bash: /tmp/buildpacks/f55d0db8af2b8c70f2c0e028ef5430955852d9e4f07a06e333e54eb5264a81b9d1e77d1cc02851b4c7da30f6da47b13959e18a24c630212b899920d05f32a566/export: No such file or directory
-----> Looking up latest chromedriver version...
-----> Downloading chromedriver v2.43...
Archive: /tmp/chromedriver.zip
inflating: /app/.chromedriver/bin/chromedriver
-----> Creating chromedriver export scripts...
-----> Google Chrome app detected
bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory
bash: /tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/export: No such file or directory
bash: /tmp/buildpacks/f55d0db8af2b8c70f2c0e028ef5430955852d9e4f07a06e333e54eb5264a81b9d1e77d1cc02851b4c7da30f6da47b13959e18a24c630212b899920d05f32a566/export: No such file or directory
bash: /tmp/buildpacks/27353aa3b5edb2f8361186206e863f5d481f02805d02f0efdec439f3d30349a4fbdad2951af33a0492023fb0d90d26dafda6fe76f1b2d34f68564a98545f7022/export: No such file or directory
-----> Installing Google Chrome from the stable channel.
-----> Updating apt caches
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Reading package lists...
-----> Fetching .debs for gconf-service

...and so on...


This is taking up most of the test run time.



Can these installs be cached?







heroku buildpack heroku-ci






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 5 '18 at 19:34







Schwern

















asked Nov 14 '18 at 23:17









SchwernSchwern

90.1k17102232




90.1k17102232













  • What is you CLI to launch the process?

    – Bsquare ℬℬ
    Nov 29 '18 at 13:43











  • @Bsquare Sorry, I'm not sure I understand what you're asking.

    – Schwern
    Nov 29 '18 at 16:26











  • I mean, what is the command you launch to get this behaviour?

    – Bsquare ℬℬ
    Nov 29 '18 at 16:27











  • @Bsquare I don't have direct control. It's launched as a Github PR hook provided by Heroku. I don't control provisioning the CI dyno directly. Instead it's by specifying buildpacks in a configuration file. See devcenter.heroku.com/articles/…

    – Schwern
    Nov 29 '18 at 16:41













  • Ok, I'm going to analyse that ;)

    – Bsquare ℬℬ
    Nov 29 '18 at 17:00



















  • What is you CLI to launch the process?

    – Bsquare ℬℬ
    Nov 29 '18 at 13:43











  • @Bsquare Sorry, I'm not sure I understand what you're asking.

    – Schwern
    Nov 29 '18 at 16:26











  • I mean, what is the command you launch to get this behaviour?

    – Bsquare ℬℬ
    Nov 29 '18 at 16:27











  • @Bsquare I don't have direct control. It's launched as a Github PR hook provided by Heroku. I don't control provisioning the CI dyno directly. Instead it's by specifying buildpacks in a configuration file. See devcenter.heroku.com/articles/…

    – Schwern
    Nov 29 '18 at 16:41













  • Ok, I'm going to analyse that ;)

    – Bsquare ℬℬ
    Nov 29 '18 at 17:00

















What is you CLI to launch the process?

– Bsquare ℬℬ
Nov 29 '18 at 13:43





What is you CLI to launch the process?

– Bsquare ℬℬ
Nov 29 '18 at 13:43













@Bsquare Sorry, I'm not sure I understand what you're asking.

– Schwern
Nov 29 '18 at 16:26





@Bsquare Sorry, I'm not sure I understand what you're asking.

– Schwern
Nov 29 '18 at 16:26













I mean, what is the command you launch to get this behaviour?

– Bsquare ℬℬ
Nov 29 '18 at 16:27





I mean, what is the command you launch to get this behaviour?

– Bsquare ℬℬ
Nov 29 '18 at 16:27













@Bsquare I don't have direct control. It's launched as a Github PR hook provided by Heroku. I don't control provisioning the CI dyno directly. Instead it's by specifying buildpacks in a configuration file. See devcenter.heroku.com/articles/…

– Schwern
Nov 29 '18 at 16:41







@Bsquare I don't have direct control. It's launched as a Github PR hook provided by Heroku. I don't control provisioning the CI dyno directly. Instead it's by specifying buildpacks in a configuration file. See devcenter.heroku.com/articles/…

– Schwern
Nov 29 '18 at 16:41















Ok, I'm going to analyse that ;)

– Bsquare ℬℬ
Nov 29 '18 at 17:00





Ok, I'm going to analyse that ;)

– Bsquare ℬℬ
Nov 29 '18 at 17:00












2 Answers
2






active

oldest

votes


















0














If you have the caches enabled as described here it does not seem like there is much more you can do to cache the installs. If this is a serious problem you could always point to local packages that you cloned from the remote repos to speed things up.






share|improve this answer
























  • I don't think I have a way to enable caches, my understanding is they should just work. I don't call bin/compile. I just supply the buildpack URL and my understanding is Heroku is supposed to do the rest. Is there a problem with the buildpack?

    – Schwern
    Dec 5 '18 at 19:36











  • the documentation i linked to says If the build pack does intend to use a cache, it should create the CACHE_DIR directory if it doesn’t exist. i assume if caching was intended it would have cached it

    – Yehuda Schwartz
    Dec 5 '18 at 20:16





















-1














After various search and try, I bring good news.



The key issue is your errors in log files, like:



bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory


This auto-generated directory is obviously a cache directory one, which is generated automatically when not fixed.



Fore instance, this can be confirmed inside the heroku-buildpack-selenium buildpack, defined in your app.json file:



# parse and derive params
BUILD_DIR=$1
CACHE_DIR=$2
LP_DIR=`cd $(dirname $0); cd ..; pwd`


It is confirmed by this official documentation I found:




The contents of CACHE_DIR will be persisted between builds. You can
cache the results of long processes like dependency resolution here to
speed up future builds.




So the key solution is to define this CACHE_DIR variable within your installation; so I guess it is either directly in your app.json file, or directly in your GitHub Hook.



Let me know if you need further help.






share|improve this answer
























  • It looks like CACHE_DIR isn't an environment variable but a variable inside bin/compile that's populated from its 2nd argument. I have no control over that. All I do is supply the buildpack URL. I guess I could try defining a CACHE_DIR environment variable and see what happens. I've also purged the cache just to see if that helps. I'll let you know next deploy, and I'll reup the bounty.

    – Schwern
    Dec 5 '18 at 19:43











  • Yes it is the second argument used when launching bin/compile but according to the documentation I think it is Heroku which specify this argument with an environment variable having the same name.

    – Bsquare ℬℬ
    Dec 5 '18 at 21:38











  • Could you copy/paste No example files which are under .git/hook in a clone of your repository?

    – Bsquare ℬℬ
    Dec 6 '18 at 7:31











  • There are no Git hooks in this project. The only way Git and Github are involved is Heroku is notified there's a new commit on master to deploy.

    – Schwern
    Dec 6 '18 at 18:32











  • Did you solve your issue? I'm still 100% sure it can be done either in your app.json file, or in your environment. Anyway, did you think about: On Stackoverflow you could give up-vote to people's helpful answers to thank them and select any one of the answer as correct answer too out of all.

    – Bsquare ℬℬ
    Dec 10 '18 at 10:33











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53310206%2fcan-selenium-and-chrome-buildpack-installs-be-cached-on-herokuci%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














If you have the caches enabled as described here it does not seem like there is much more you can do to cache the installs. If this is a serious problem you could always point to local packages that you cloned from the remote repos to speed things up.






share|improve this answer
























  • I don't think I have a way to enable caches, my understanding is they should just work. I don't call bin/compile. I just supply the buildpack URL and my understanding is Heroku is supposed to do the rest. Is there a problem with the buildpack?

    – Schwern
    Dec 5 '18 at 19:36











  • the documentation i linked to says If the build pack does intend to use a cache, it should create the CACHE_DIR directory if it doesn’t exist. i assume if caching was intended it would have cached it

    – Yehuda Schwartz
    Dec 5 '18 at 20:16


















0














If you have the caches enabled as described here it does not seem like there is much more you can do to cache the installs. If this is a serious problem you could always point to local packages that you cloned from the remote repos to speed things up.






share|improve this answer
























  • I don't think I have a way to enable caches, my understanding is they should just work. I don't call bin/compile. I just supply the buildpack URL and my understanding is Heroku is supposed to do the rest. Is there a problem with the buildpack?

    – Schwern
    Dec 5 '18 at 19:36











  • the documentation i linked to says If the build pack does intend to use a cache, it should create the CACHE_DIR directory if it doesn’t exist. i assume if caching was intended it would have cached it

    – Yehuda Schwartz
    Dec 5 '18 at 20:16
















0












0








0







If you have the caches enabled as described here it does not seem like there is much more you can do to cache the installs. If this is a serious problem you could always point to local packages that you cloned from the remote repos to speed things up.






share|improve this answer













If you have the caches enabled as described here it does not seem like there is much more you can do to cache the installs. If this is a serious problem you could always point to local packages that you cloned from the remote repos to speed things up.







share|improve this answer












share|improve this answer



share|improve this answer










answered Dec 5 '18 at 18:42









Yehuda SchwartzYehuda Schwartz

1,21111125




1,21111125













  • I don't think I have a way to enable caches, my understanding is they should just work. I don't call bin/compile. I just supply the buildpack URL and my understanding is Heroku is supposed to do the rest. Is there a problem with the buildpack?

    – Schwern
    Dec 5 '18 at 19:36











  • the documentation i linked to says If the build pack does intend to use a cache, it should create the CACHE_DIR directory if it doesn’t exist. i assume if caching was intended it would have cached it

    – Yehuda Schwartz
    Dec 5 '18 at 20:16





















  • I don't think I have a way to enable caches, my understanding is they should just work. I don't call bin/compile. I just supply the buildpack URL and my understanding is Heroku is supposed to do the rest. Is there a problem with the buildpack?

    – Schwern
    Dec 5 '18 at 19:36











  • the documentation i linked to says If the build pack does intend to use a cache, it should create the CACHE_DIR directory if it doesn’t exist. i assume if caching was intended it would have cached it

    – Yehuda Schwartz
    Dec 5 '18 at 20:16



















I don't think I have a way to enable caches, my understanding is they should just work. I don't call bin/compile. I just supply the buildpack URL and my understanding is Heroku is supposed to do the rest. Is there a problem with the buildpack?

– Schwern
Dec 5 '18 at 19:36





I don't think I have a way to enable caches, my understanding is they should just work. I don't call bin/compile. I just supply the buildpack URL and my understanding is Heroku is supposed to do the rest. Is there a problem with the buildpack?

– Schwern
Dec 5 '18 at 19:36













the documentation i linked to says If the build pack does intend to use a cache, it should create the CACHE_DIR directory if it doesn’t exist. i assume if caching was intended it would have cached it

– Yehuda Schwartz
Dec 5 '18 at 20:16







the documentation i linked to says If the build pack does intend to use a cache, it should create the CACHE_DIR directory if it doesn’t exist. i assume if caching was intended it would have cached it

– Yehuda Schwartz
Dec 5 '18 at 20:16















-1














After various search and try, I bring good news.



The key issue is your errors in log files, like:



bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory


This auto-generated directory is obviously a cache directory one, which is generated automatically when not fixed.



Fore instance, this can be confirmed inside the heroku-buildpack-selenium buildpack, defined in your app.json file:



# parse and derive params
BUILD_DIR=$1
CACHE_DIR=$2
LP_DIR=`cd $(dirname $0); cd ..; pwd`


It is confirmed by this official documentation I found:




The contents of CACHE_DIR will be persisted between builds. You can
cache the results of long processes like dependency resolution here to
speed up future builds.




So the key solution is to define this CACHE_DIR variable within your installation; so I guess it is either directly in your app.json file, or directly in your GitHub Hook.



Let me know if you need further help.






share|improve this answer
























  • It looks like CACHE_DIR isn't an environment variable but a variable inside bin/compile that's populated from its 2nd argument. I have no control over that. All I do is supply the buildpack URL. I guess I could try defining a CACHE_DIR environment variable and see what happens. I've also purged the cache just to see if that helps. I'll let you know next deploy, and I'll reup the bounty.

    – Schwern
    Dec 5 '18 at 19:43











  • Yes it is the second argument used when launching bin/compile but according to the documentation I think it is Heroku which specify this argument with an environment variable having the same name.

    – Bsquare ℬℬ
    Dec 5 '18 at 21:38











  • Could you copy/paste No example files which are under .git/hook in a clone of your repository?

    – Bsquare ℬℬ
    Dec 6 '18 at 7:31











  • There are no Git hooks in this project. The only way Git and Github are involved is Heroku is notified there's a new commit on master to deploy.

    – Schwern
    Dec 6 '18 at 18:32











  • Did you solve your issue? I'm still 100% sure it can be done either in your app.json file, or in your environment. Anyway, did you think about: On Stackoverflow you could give up-vote to people's helpful answers to thank them and select any one of the answer as correct answer too out of all.

    – Bsquare ℬℬ
    Dec 10 '18 at 10:33
















-1














After various search and try, I bring good news.



The key issue is your errors in log files, like:



bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory


This auto-generated directory is obviously a cache directory one, which is generated automatically when not fixed.



Fore instance, this can be confirmed inside the heroku-buildpack-selenium buildpack, defined in your app.json file:



# parse and derive params
BUILD_DIR=$1
CACHE_DIR=$2
LP_DIR=`cd $(dirname $0); cd ..; pwd`


It is confirmed by this official documentation I found:




The contents of CACHE_DIR will be persisted between builds. You can
cache the results of long processes like dependency resolution here to
speed up future builds.




So the key solution is to define this CACHE_DIR variable within your installation; so I guess it is either directly in your app.json file, or directly in your GitHub Hook.



Let me know if you need further help.






share|improve this answer
























  • It looks like CACHE_DIR isn't an environment variable but a variable inside bin/compile that's populated from its 2nd argument. I have no control over that. All I do is supply the buildpack URL. I guess I could try defining a CACHE_DIR environment variable and see what happens. I've also purged the cache just to see if that helps. I'll let you know next deploy, and I'll reup the bounty.

    – Schwern
    Dec 5 '18 at 19:43











  • Yes it is the second argument used when launching bin/compile but according to the documentation I think it is Heroku which specify this argument with an environment variable having the same name.

    – Bsquare ℬℬ
    Dec 5 '18 at 21:38











  • Could you copy/paste No example files which are under .git/hook in a clone of your repository?

    – Bsquare ℬℬ
    Dec 6 '18 at 7:31











  • There are no Git hooks in this project. The only way Git and Github are involved is Heroku is notified there's a new commit on master to deploy.

    – Schwern
    Dec 6 '18 at 18:32











  • Did you solve your issue? I'm still 100% sure it can be done either in your app.json file, or in your environment. Anyway, did you think about: On Stackoverflow you could give up-vote to people's helpful answers to thank them and select any one of the answer as correct answer too out of all.

    – Bsquare ℬℬ
    Dec 10 '18 at 10:33














-1












-1








-1







After various search and try, I bring good news.



The key issue is your errors in log files, like:



bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory


This auto-generated directory is obviously a cache directory one, which is generated automatically when not fixed.



Fore instance, this can be confirmed inside the heroku-buildpack-selenium buildpack, defined in your app.json file:



# parse and derive params
BUILD_DIR=$1
CACHE_DIR=$2
LP_DIR=`cd $(dirname $0); cd ..; pwd`


It is confirmed by this official documentation I found:




The contents of CACHE_DIR will be persisted between builds. You can
cache the results of long processes like dependency resolution here to
speed up future builds.




So the key solution is to define this CACHE_DIR variable within your installation; so I guess it is either directly in your app.json file, or directly in your GitHub Hook.



Let me know if you need further help.






share|improve this answer













After various search and try, I bring good news.



The key issue is your errors in log files, like:



bash: /tmp/buildpacks/b5ae60a477f2ba582d00a4ba23348059d40dea69cea6d982947f7c6afa72d2b8d69252449d43cbcf97a23341fd57300a3fef3224ace95482e1c0deaf8a844e4d/export: No such file or directory


This auto-generated directory is obviously a cache directory one, which is generated automatically when not fixed.



Fore instance, this can be confirmed inside the heroku-buildpack-selenium buildpack, defined in your app.json file:



# parse and derive params
BUILD_DIR=$1
CACHE_DIR=$2
LP_DIR=`cd $(dirname $0); cd ..; pwd`


It is confirmed by this official documentation I found:




The contents of CACHE_DIR will be persisted between builds. You can
cache the results of long processes like dependency resolution here to
speed up future builds.




So the key solution is to define this CACHE_DIR variable within your installation; so I guess it is either directly in your app.json file, or directly in your GitHub Hook.



Let me know if you need further help.







share|improve this answer












share|improve this answer



share|improve this answer










answered Dec 5 '18 at 9:32









Bsquare ℬℬBsquare ℬℬ

3,65071534




3,65071534













  • It looks like CACHE_DIR isn't an environment variable but a variable inside bin/compile that's populated from its 2nd argument. I have no control over that. All I do is supply the buildpack URL. I guess I could try defining a CACHE_DIR environment variable and see what happens. I've also purged the cache just to see if that helps. I'll let you know next deploy, and I'll reup the bounty.

    – Schwern
    Dec 5 '18 at 19:43











  • Yes it is the second argument used when launching bin/compile but according to the documentation I think it is Heroku which specify this argument with an environment variable having the same name.

    – Bsquare ℬℬ
    Dec 5 '18 at 21:38











  • Could you copy/paste No example files which are under .git/hook in a clone of your repository?

    – Bsquare ℬℬ
    Dec 6 '18 at 7:31











  • There are no Git hooks in this project. The only way Git and Github are involved is Heroku is notified there's a new commit on master to deploy.

    – Schwern
    Dec 6 '18 at 18:32











  • Did you solve your issue? I'm still 100% sure it can be done either in your app.json file, or in your environment. Anyway, did you think about: On Stackoverflow you could give up-vote to people's helpful answers to thank them and select any one of the answer as correct answer too out of all.

    – Bsquare ℬℬ
    Dec 10 '18 at 10:33



















  • It looks like CACHE_DIR isn't an environment variable but a variable inside bin/compile that's populated from its 2nd argument. I have no control over that. All I do is supply the buildpack URL. I guess I could try defining a CACHE_DIR environment variable and see what happens. I've also purged the cache just to see if that helps. I'll let you know next deploy, and I'll reup the bounty.

    – Schwern
    Dec 5 '18 at 19:43











  • Yes it is the second argument used when launching bin/compile but according to the documentation I think it is Heroku which specify this argument with an environment variable having the same name.

    – Bsquare ℬℬ
    Dec 5 '18 at 21:38











  • Could you copy/paste No example files which are under .git/hook in a clone of your repository?

    – Bsquare ℬℬ
    Dec 6 '18 at 7:31











  • There are no Git hooks in this project. The only way Git and Github are involved is Heroku is notified there's a new commit on master to deploy.

    – Schwern
    Dec 6 '18 at 18:32











  • Did you solve your issue? I'm still 100% sure it can be done either in your app.json file, or in your environment. Anyway, did you think about: On Stackoverflow you could give up-vote to people's helpful answers to thank them and select any one of the answer as correct answer too out of all.

    – Bsquare ℬℬ
    Dec 10 '18 at 10:33

















It looks like CACHE_DIR isn't an environment variable but a variable inside bin/compile that's populated from its 2nd argument. I have no control over that. All I do is supply the buildpack URL. I guess I could try defining a CACHE_DIR environment variable and see what happens. I've also purged the cache just to see if that helps. I'll let you know next deploy, and I'll reup the bounty.

– Schwern
Dec 5 '18 at 19:43





It looks like CACHE_DIR isn't an environment variable but a variable inside bin/compile that's populated from its 2nd argument. I have no control over that. All I do is supply the buildpack URL. I guess I could try defining a CACHE_DIR environment variable and see what happens. I've also purged the cache just to see if that helps. I'll let you know next deploy, and I'll reup the bounty.

– Schwern
Dec 5 '18 at 19:43













Yes it is the second argument used when launching bin/compile but according to the documentation I think it is Heroku which specify this argument with an environment variable having the same name.

– Bsquare ℬℬ
Dec 5 '18 at 21:38





Yes it is the second argument used when launching bin/compile but according to the documentation I think it is Heroku which specify this argument with an environment variable having the same name.

– Bsquare ℬℬ
Dec 5 '18 at 21:38













Could you copy/paste No example files which are under .git/hook in a clone of your repository?

– Bsquare ℬℬ
Dec 6 '18 at 7:31





Could you copy/paste No example files which are under .git/hook in a clone of your repository?

– Bsquare ℬℬ
Dec 6 '18 at 7:31













There are no Git hooks in this project. The only way Git and Github are involved is Heroku is notified there's a new commit on master to deploy.

– Schwern
Dec 6 '18 at 18:32





There are no Git hooks in this project. The only way Git and Github are involved is Heroku is notified there's a new commit on master to deploy.

– Schwern
Dec 6 '18 at 18:32













Did you solve your issue? I'm still 100% sure it can be done either in your app.json file, or in your environment. Anyway, did you think about: On Stackoverflow you could give up-vote to people's helpful answers to thank them and select any one of the answer as correct answer too out of all.

– Bsquare ℬℬ
Dec 10 '18 at 10:33





Did you solve your issue? I'm still 100% sure it can be done either in your app.json file, or in your environment. Anyway, did you think about: On Stackoverflow you could give up-vote to people's helpful answers to thank them and select any one of the answer as correct answer too out of all.

– Bsquare ℬℬ
Dec 10 '18 at 10:33


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53310206%2fcan-selenium-and-chrome-buildpack-installs-be-cached-on-herokuci%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Xamarin.iOS Cant Deploy on Iphone

Glorious Revolution

Dulmage-Mendelsohn matrix decomposition in Python