degica / dockerfiles

Dockerfile collection
1 stars 1 forks source link

Add the Ruby 2.7.3 + Node.js LTS (14.16.1) buildpack #10

Closed pmq20 closed 3 years ago

pmq20 commented 3 years ago

Why Node.js LTS (14.16.1)

We are still using Node.js v10 in our build pipelines, but it has come to EOL. Also, referencing lts in https://deb.nodesource.com/setup_lts.x keeps us using the latest stable without manual upgrades in the future.

image

Why Renaming rails-buildpack/2.7.3-old-openssl/Dockerfile to rails-buildpack/2.7.3/Dockerfile

Old openssl inside the buildpack turned out to be unnecessary, and we also wanted to take this opportunity to upgrade our minor Ruby version.

How to test

  1. docker build rails-buildpack/2.7.3 -t 2.7.3-and-nodejs
  2. docker run --rm -it 2.7.3-and-nodejs bash
  3. ruby --version and confirm that it is ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-linux]
  4. node --version and confirm that it is v14.16.1
  5. yarn --version and confirm that it is 1.22.10
degicat commented 3 years ago

@Resonious can you help us review this PR, please?

pmq20 commented 3 years ago

Thank you Nigel for reviewing! Hi David, could you help me push this new tag to Quay? Thank you! @davidsiaw

davidsiaw commented 3 years ago

Hi @pmq20 thanks for the PR. In the case of deprecation and death of older frameworks and updates to 2.7 please just replace the contents of the 2.7 directory.

Resonious commented 3 years ago

@davidsiaw @pmq20 I think I mentioned this before on Slack, but simply updating 2.7 will break hats builds.

We'll first need to update hats's Gemfile to require ~> 2.7 instead of 2.7.2.

Resonious commented 3 years ago

Or maybe we can get away with removing the ruby requirement from the Gemfile altogether.

pmq20 commented 3 years ago

@Resonious That's a good point. I also read that in the chat history. I also read Tim's comment on the benefit of keeping Ruby requirement in the Gemfile. That's why I decided to create new tag at the end of the day (yesterday). Hi David, what do you think? @davidsiaw

pmq20 commented 3 years ago

Reference: https://degica.slack.com/archives/C03S3UEEE/p1619159693097800

pmq20 commented 3 years ago

ping @davidsiaw

davidsiaw commented 3 years ago

@pmq20 sorry I didn't see the subsequent message. I still think removing the ruby requirement is easier since it kind of means we will always have a broken build, but that breaks some developer workflows.

I also think maybe we should change up the way we tag images. Right now we separate them by directory but that is so SVN. I will quickly make you a tag on quay that you can use while I tidy this up.

pmq20 commented 3 years ago

@davidsiaw Thanks! I will work on removing the Ruby requirement.