Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,13 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04]
ruby: ['3.0.3']
runs-on: ${{ matrix.os }}
continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }}
steps:

- uses: actions/checkout@v5
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
ruby-version: .ruby-version # reads the Ruby version from the .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: config bundler
run: |
Expand Down
14 changes: 13 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,16 @@
FROM internetee/ruby:3.0-buster
FROM ruby:3.4.9-bookworm

# System dependencies (the official ruby image ships build tools but not these)
RUN apt-get update -qq && \
apt-get install --no-install-recommends -y \
libpq-dev \
nodejs \
netcat-openbsd \
curl \
imagemagick \
shared-mime-info \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

RUN mkdir -p /opt/webapps/app/tmp/pids
WORKDIR /opt/webapps/app
Expand Down
20 changes: 9 additions & 11 deletions Dockerfile.production
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Base image with platform specification
FROM internetee/ruby:3.0-buster
# Base image
FROM ruby:3.4.9-bookworm

# Set working directory
WORKDIR /opt/webapps/app
Expand All @@ -13,20 +13,18 @@ ENV RAILS_ENV="production" \
LANGUAGE=et_EE:et \
LC_ALL=et_EE.UTF-8

# Fix repository issues and install packages
RUN apt-get update -qq || true && \
apt-get install -y --no-install-recommends gnupg2 && \
# Remove problematic repositories
rm -f /etc/apt/sources.list.d/google-chrome.list && \
rm -f /etc/apt/sources.list.d/pgdg.list && \
# Update sources and install packages
apt-get update -qq && \
# Install system packages and generate the Estonian locale
RUN apt-get update -qq && \
apt-get install --no-install-recommends -y \
netcat \
netcat-openbsd \
curl \
libpq-dev \
nodejs \
imagemagick \
shared-mime-info \
locales \
&& echo "et_EE.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

Expand Down
20 changes: 9 additions & 11 deletions Dockerfile.staging
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Base image with platform specification
FROM internetee/ruby:3.0-buster
# Base image
FROM ruby:3.4.9-bookworm

# Set working directory
WORKDIR /opt/webapps/app
Expand All @@ -13,20 +13,18 @@ ENV RAILS_ENV="production" \
LANGUAGE=et_EE:et \
LC_ALL=et_EE.UTF-8

# Fix repository issues and install packages
RUN echo "deb http://archive.debian.org/debian buster main" > /etc/apt/sources.list && \
echo "deb http://archive.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list && \
echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid-until && \
rm -f /etc/apt/sources.list.d/google-chrome.list && \
rm -f /etc/apt/sources.list.d/pgdg.list && \
apt-get update -qq && \
# Install system packages and generate the Estonian locale
RUN apt-get update -qq && \
apt-get install --no-install-recommends -y \
gnupg2 \
netcat \
netcat-openbsd \
curl \
libpq-dev \
nodejs \
imagemagick \
shared-mime-info \
locales \
&& echo "et_EE.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

Expand Down
21 changes: 9 additions & 12 deletions Dockerfile.test
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Base image with platform specification
FROM internetee/ruby:3.0-buster
# Base image
FROM ruby:3.4.9-bookworm

# Set working directory
WORKDIR /opt/webapps/app
Expand All @@ -13,21 +13,18 @@ ENV RAILS_ENV="production" \
LANGUAGE=et_EE:et \
LC_ALL=et_EE.UTF-8

# Fix repository issues and install packages
RUN echo "deb [trusted=yes] http://archive.debian.org/debian buster main" > /etc/apt/sources.list && \
echo "deb [trusted=yes] http://archive.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list && \
echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid-until && \
rm -f /etc/apt/sources.list.d/google-chrome.list && \
rm -f /etc/apt/sources.list.d/pgdg.list && \
rm -f /etc/apt/sources.list.d/nodesource.list && \
apt-get update && \
# Install system packages and generate the Estonian locale
RUN apt-get update -qq && \
apt-get install --no-install-recommends -y \
gnupg2 \
netcat \
netcat-openbsd \
curl \
libpq-dev \
nodejs \
imagemagick \
shared-mime-info \
locales \
&& echo "et_EE.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

Expand Down
18 changes: 16 additions & 2 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
source 'https://rubygems.org'

# Ruby 3.4 moved these out of the default gems; Rails 6.1 does not declare
# them, so they must be required explicitly to boot on Ruby 3.4.
gem 'base64'
gem 'benchmark'
gem 'bigdecimal'
gem 'drb'
gem 'logger'
gem 'mutex_m'
gem 'net-smtp', require: false
gem 'ostruct'
gem 'syslog' # Used by production logging (syslog/logger); bundled gem in Ruby 3.4

gem 'aws-sdk-ses', '~> 1.40'
gem 'bootsnap', '~> 1.18.0', require: false
gem 'figaro', '~> 1.3.0'
gem 'jbuilder'
gem 'mimemagic', '~> 0.4.3'
gem 'passenger', '>= 5.3.2', require: 'phusion_passenger/rack_handler'
gem 'pg', '~> 1.6.3'
gem 'rails', '>= 6.0.3.1'
gem 'pg', '~> 1.6.3', force_ruby_platform: true
gem 'rails', '~> 6.1.7', '>= 6.1.7.10'
gem 'recaptcha', '~> 5.21', require: 'recaptcha/rails'
gem 'sassc', '~> 2.4'
gem 'sassc-rails'
Expand All @@ -21,6 +33,7 @@ end
group :development, :test do
gem 'apparition', github: 'twalpole/apparition', ref: 'ca86be4d54af835d531dbcd2b86e7b2c77f85f34'
gem 'capybara'
gem 'matrix' # Removed from Ruby 3.4 default gems; required by capybara
gem 'mina', '~> 1.2.4'
gem 'pry'
gem 'puma'
Expand All @@ -29,6 +42,7 @@ group :development, :test do
end

group :test do
gem 'minitest', '~> 5.25' # Rails 6.1 is built against minitest 5.x; 6.x breaks minitest/mock
gem 'selenium-webdriver'
gem 'simplecov', '0.17.1', require: false # CC last supported v0.17
end
Loading