stripe / example-mobile-backend

A simple, easy-to-deploy backend that you can use to demo our example mobile apps.
MIT License
106 stars 205 forks source link

Set heroku stack to 18 #97

Closed paulasjes-stripe closed 3 years ago

paulasjes-stripe commented 3 years ago

Using the "Deploy to Heroku" button errors due to Heroku defaulting to the latest stack, which doesn't support Ruby 2.6.3:

-----> Building on the Heroku-20 stack
-----> Ruby app detected
-----> Installing bundler 1.17.3
-----> Removing BUNDLED WITH version in the Gemfile.lock
-----> Compiling Ruby/Rack
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-20/ruby-2.6.3.tgz -s -o - | tar zxf - ' failed on attempt 1 of 3.
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-20/ruby-2.6.3.tgz -s -o - | tar zxf - ' failed on attempt 2 of 3.
!
! The Ruby version you are trying to install does not exist on this stack.
!
! You are trying to install ruby-2.6.3 on heroku-20.
!
! Ruby ruby-2.6.3 is present on the following stacks:
!
! - cedar-14
! - heroku-16
! - heroku-18
!
! Heroku recommends you use the latest supported Ruby version listed here:
! https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
!
! For more information on syntax for declaring a Ruby version see:
! https://devcenter.heroku.com/articles/ruby-versions
!
! Push rejected, failed to compile Ruby app.
! Push failed

This hardcodes the stack to heroku-18, which does support Ruby 2.6.3.

edmorley commented 3 years ago

Hi! Instead of pinning to the older Heroku-18 stack, I would recommend updating the Ruby version specified in Gemfile/Gemfile.lock from 2.6.3 to 2.6.6, since 2.6.6 is available on Heroku-20.