diff --git a/api/.ruby-version b/api/.ruby-version index 9c25013db..2aa513199 100644 --- a/api/.ruby-version +++ b/api/.ruby-version @@ -1 +1 @@ -3.3.6 +3.4.7 diff --git a/api/Dockerfile b/api/Dockerfile index cab40aff1..e83488b6f 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1 -FROM ruby:3.3.6 +FROM ruby:3.4.7 RUN apt-get update -qq && apt-get -y install mariadb-client LABEL org.opencontainers.image.source=https://github.com/dodona-edu/dolos diff --git a/api/Gemfile b/api/Gemfile index 677622a22..c5f84e0ce 100644 --- a/api/Gemfile +++ b/api/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } -ruby '3.3.6' +ruby '3.4.7' # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem 'rails', '~> 8.0.2' @@ -15,6 +15,9 @@ gem 'puma', '~> 6.6' # Process ZIP archives gem 'rubyzip', '~> 2.4.1' +# Parse CSV files +gem 'csv', '~> 3.3', '>= 3.3.5' + # Validate ActiveStorage attachments gem 'active_storage_validations', '~> 1.4' diff --git a/api/Gemfile.lock b/api/Gemfile.lock index 9577058ec..680a277fc 100644 --- a/api/Gemfile.lock +++ b/api/Gemfile.lock @@ -121,6 +121,7 @@ GEM concurrent-ruby (1.3.5) connection_pool (2.5.3) crass (1.0.6) + csv (3.3.5) daemons (1.4.1) date (3.4.1) debug (1.10.0) @@ -327,6 +328,7 @@ DEPENDENCIES capistrano-rvm (~> 0.1.2) capistrano-yarn (~> 2.0.2) capistrano3-delayed-job (~> 1.7.6) + csv (~> 3.3, >= 3.3.5) debug delayed_job_active_record docker-api (~> 2.4.0) @@ -347,7 +349,7 @@ DEPENDENCIES tzinfo-data RUBY VERSION - ruby 3.3.6p108 + ruby 3.4.7p58 BUNDLED WITH 2.3.26 diff --git a/api/shell.nix b/api/shell.nix index 4d68d1a12..2fdb00bad 100644 --- a/api/shell.nix +++ b/api/shell.nix @@ -2,7 +2,7 @@ let dev = fetchTarball "https://github.com/numtide/devshell/archive/main.tar.gz"; devshell = pkgs.devshell or (import dev { inherit system; }); - ruby = pkgs.ruby_3_3; + ruby = pkgs.ruby_3_4; in devshell.mkShell { name = "Dolos API server"; @@ -19,7 +19,7 @@ devshell.mkShell { docker-compose ]; language.ruby = { - package = (pkgs.lowPrio ruby); + package = ruby; nativeDeps = with pkgs; [ libmysqlclient libyaml ]; }; env = [ diff --git a/flake.lock b/flake.lock index 252eb9886..5f337b7ef 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1741473158, - "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=", + "lastModified": 1762521437, + "narHash": "sha256-RXN+lcx4DEn3ZS+LqEJSUu/HH+dwGvy0syN7hTo/Chg=", "owner": "numtide", "repo": "devshell", - "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0", + "rev": "07bacc9531f5f4df6657c0a02a806443685f384a", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744232761, - "narHash": "sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U=", + "lastModified": 1762977756, + "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f675531bc7e6657c10a18b565cfebd8aa9e24c14", + "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", "type": "github" }, "original": {