jekyll / classifier-reborn

A general classifier module to allow Bayesian and other types of classifications. A fork of cardmagic/classifier.
https://jekyll.github.io/classifier-reborn/
GNU Lesser General Public License v2.1
551 stars 109 forks source link

Update Dockerfile for Ruby 3.1 #201

Open mkasberg opened 2 years ago

mkasberg commented 2 years ago

While working on Ruby 3 support several months ago, I noticed the Dockerfile was really stale. I didn't immediately fix this at the time, but made a mental note to come back to it sometime.

This Dockerfile is intended to be used for development. It was added in https://github.com/jekyll/classifier-reborn/pull/104 (discussed in detail at https://github.com/jekyll/classifier-reborn/issues/101). The documentation for using this is still available (and accurate) at https://jekyll.github.io/classifier-reborn/development#development-using-docker.

classifier-reborn currently supports ruby 2.7, 3.0, and 3.1 (as you can see in ci.yml). Since we can only (easily) put one ruby version in the Dockerfile, using the most recent version made sense to me. Doing so means we have to use Numo instead of GSL since GSL isn't currently supported on Ruby 3.x.

The MAINTAINER dockerfile instruction is deprecated, so I removed it. (It isn't necessary anyway on a Dockerfile that doesn't publish a build.)

mkasberg commented 2 years ago

Since this Dockerfile is intended for local development, I wonder if we should consider using a VS Code Dev Container instead of a plain Dockerfile. Would you be open to that idea if I implemented it?

mkasberg commented 2 years ago

Hm, looks like Redis tests are failing in Ruby 3.x... I wouldn't expect this change to affect that... Perhaps I'll see if I can find some time to investigate more...