Deploy failure due to bundle not able to git pull

First some context:

So I deleted and re-created a postgres db on the free tier since it hit the 90 day limit. Since we are not using the db heavily, I deleted and recreated the postgres service.

But deploys failed, and a chat with Tyler in support indicated that ENV vars are not updated until AFTER a successful deploy. Mmmm, okaaay. That’s kind of terrible in some situations, with a catch-22 where my deploy fails because the db is wrong, and I can’t update the ENV var to a new db. Maybe this is made worse by my healthcheck?

In any case, we are not in production mode yet, and so I deleted all services, deleted the blueprint and created a new blueprint.

The deploy failed, but this time I saw this from bundler:

Oct 8 09:54:47 AM  ==> Cloning from https://github.com/XXX-REDACTED-XXX...
Oct 8 09:54:48 AM  ==> Checking out commit 58e023521129ec44c31ad31e24eb14e67cf2d80b in branch master
Oct 8 09:54:51 AM  ==> Downloading cache...
Oct 8 09:55:02 AM  ==> Detected Ruby version 3.1.2
Oct 8 09:55:01 AM  ==> Transferred 7.7MB in 8s. Extraction took 0s.
Oct 8 09:55:10 AM  Updating rubygems-update
Oct 8 09:55:10 AM  Successfully installed rubygems-update-3.3.23
Oct 8 09:55:10 AM  Installing RubyGems 3.3.23
Oct 8 09:55:11 AM    Successfully built RubyGem
Oct 8 09:55:11 AM    Name: bundler
Oct 8 09:55:11 AM    Version: 2.3.23
Oct 8 09:55:11 AM    File: bundler-2.3.23.gem
Oct 8 09:55:11 AM  Bundler 2.3.23 installed
Oct 8 09:55:11 AM  RubyGems 3.3.23 installed
Oct 8 09:55:11 AM  Regenerating binstubs
Oct 8 09:55:11 AM  Regenerating plugins
[more log noise]
Oct 8 09:55:12 AM  ==> Running build command 'bin/build-command.sh'...
Oct 8 09:55:15 AM  Fetching gem metadata from https://rubygems.org/.........
Oct 8 09:55:15 AM  Fetching https://github.com/hotwired/turbo-rails.git
Oct 8 09:55:16 AM  fatal: Could not parse object '2b02587c6f5feff7e968e721f24eeb24e1abc779'.
Oct 8 09:55:16 AM  Git error: command `git reset --hard 2b02587c6f5feff7e968e721f24eeb24e1abc779`
Oct 8 09:55:16 AM  in directory
Oct 8 09:55:16 AM  /opt/render/project/.gems/ruby/3.1.0/bundler/gems/turbo-rails-2b02587c6f5f has
Oct 8 09:55:16 AM  failed.
Oct 8 09:55:16 AM  Revision 2b02587c6f5feff7e968e721f24eeb24e1abc779 does not exist in the
Oct 8 09:55:16 AM  repository https://github.com/hotwired/turbo-rails.git. Maybe you misspelled it?
Oct 8 09:55:16 AM  If this error persists you could try removing the cache directory

The key output here seems to be:

Oct 8 09:55:15 AM  Fetching https://github.com/hotwired/turbo-rails.git
Oct 8 09:55:16 AM  fatal: Could not parse object '2b02587c6f5feff7e968e721f24eeb24e1abc779'.
Oct 8 09:55:16 AM  Git error: command `git reset --hard 2b02587c6f5feff7e968e721f24eeb24e1abc779`

What is going on here and why, and how do I resolve this?

  • i tried clearing the cache and rebuilding. Same error, multiple times, with different commits.
  • I can’t reproduce this error locally. bundler downloads and installs the gem just fine, even after blowing away all local gems.
  • When I use the shell in the web UI (I can’t ssh in since a successful deploy hasn’t happened yet), Intersetingly, I’m seeing ruby 2.3.6, the default, while my rails app needs 3.1.2

This used to work previously, with an older blueprint, and a free tier postgres db. Now it doesn’t.

How do I get out of this deployment catch-22? I can’t find anything generic that might apply in my searches for the git error, and render related info is nigh impossible to find in conjunction with any search (got any tips???)

OK, I found the cause of my error (though I’m still slightly miffed that env vars don’t update until a successful deploy). The line in my gemfile was:

gem "turbo-rails", github: "hotwired/turbo-rails", branch: "turbo-7-2-0"

And indeed, that branch and ref is no longer present in the repo, afaict. No longer get this error if I switch to the rubygems version, though that will present other problems.

Case closed for now. Leaving this here in case it helps anyone catch a silly oversight.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.