diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index c8a3677..c6421f3 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-18.04] - ruby: [2.6, 2.7] + ruby: [3.2.2] runs-on: ${{ matrix.os }} continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }} steps: diff --git a/.ruby-version b/.ruby-version index ff365e0..be94e6f 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.1.3 +3.2.2 diff --git a/Dockerfile b/Dockerfile index 0ee5baa..fe807be 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,75 @@ -FROM internetee/ruby:2.7 -MAINTAINER maciej.szlosarczyk@internet.ee +FROM internetee/ruby:3.2.2 + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +RUN apt-get update > /dev/null && apt-get install -y --no-install-recommends > /dev/null \ + build-essential=* \ + curl \ + wget \ + gnupg2 \ + git \ + apt-utils \ + && apt-get dist-upgrade -yf\ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y locales +RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen +RUN sed -i -e 's/# et_EE.UTF-8 UTF-8/et_EE.UTF-8 UTF-8/' /etc/locale.gen && \ + dpkg-reconfigure --frontend=noninteractive locales && \ + update-locale LANG=et_EE.UTF-8 + +ENV LANG et_EE.UTF-8 +RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc -s | apt-key add - +RUN sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" > /etc/apt/sources.list.d/pgdg.list' +RUN apt-get update > /dev/null && apt-get install -y --no-install-recommends > /dev/null \ + postgresql-client-14=* \ + libpq-dev \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# add repository for Node.js in the LTS version +RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - + +RUN apt-get install -y --no-install-recommends > /dev/null \ + nodejs=* \ + qt5-default=* \ + libqt5webkit5-dev=* \ + gstreamer1.0-plugins-base=* \ + libappindicator3-1=* \ + gstreamer1.0-tools=* \ + qtdeclarative5-dev=* \ + fonts-liberation=* \ + gstreamer1.0-x=* \ + libasound2=* \ + libnspr4=* \ + libnss3=* \ + libxss1=* \ + libxtst6=* \ + xdg-utils=* \ + qtdeclarative5-dev=* \ + fonts-liberation=* \ + gstreamer1.0-x=* \ + wkhtmltopdf \ + libxslt1-dev \ + libxml2-dev \ + python-dev \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +RUN npm install -g yarn@latest + +RUN curl https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -o /chrome.deb +RUN dpkg -i /chrome.deb || apt-get update > /dev/null \ + && apt-get install -yf --no-install-recommends > /dev/null && apt-get clean \ + && rm -rf /var/lib/apt/lists/* +RUN dpkg -i /chrome.deb +RUN rm /chrome.deb +RUN sed -i 's/SECLEVEL=2/SECLEVEL=1/' /etc/ssl/openssl.cnf RUN mkdir -p /opt/webapps/app/tmp/pids WORKDIR /opt/webapps/app -COPY Gemfile Gemfile.lock ./ + +COPY Rakefile Gemfile Gemfile.lock ./ RUN gem install bundler && bundle install --jobs 20 --retry 5 -EXPOSE 3000 +EXPOSE 3000 \ No newline at end of file diff --git a/Gemfile b/Gemfile index ce86370..8323c59 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,9 @@ gem 'aws-sdk-ses', '~> 1.40' gem 'bootsnap', '~> 1.16.0', require: false gem 'figaro', '~> 1.2.0' gem 'jbuilder' +gem 'matrix' gem 'mimemagic', '~> 0.4.3' +gem 'passenger', '>= 5.3.2', require: 'phusion_passenger/rack_handler' gem 'pg', '~> 1.4.0' gem 'rails', '>= 6.0.3.1' gem 'recaptcha', '~> 5.8', require: 'recaptcha/rails' @@ -12,7 +14,6 @@ gem 'sassc', '~> 2.4' gem 'sassc-rails' gem 'simpleidn', '0.2.1' # For Punycode gem 'uglifier' -gem 'passenger', '>= 5.3.2', require: 'phusion_passenger/rack_handler' group :development do gem 'listen', '>= 3.0.5', '< 3.9' @@ -21,10 +22,10 @@ end group :development, :test do gem 'apparition', github: 'twalpole/apparition', ref: 'ca86be4d54af835d531dbcd2b86e7b2c77f85f34' gem 'capybara' - gem 'pry' - gem 'unicorn' gem 'mina', '~> 1.2.4' + gem 'pry' gem 'puma' + gem 'unicorn' gem 'webmock' end diff --git a/Gemfile.lock b/Gemfile.lock index 6627614..f33f1f9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -125,6 +125,7 @@ GEM mail (2.7.1) mini_mime (>= 0.1.1) marcel (1.0.1) + matrix (0.4.2) method_source (1.0.0) mimemagic (0.4.3) nokogiri (~> 1) @@ -250,6 +251,7 @@ DEPENDENCIES figaro (~> 1.2.0) jbuilder listen (>= 3.0.5, < 3.9) + matrix mimemagic (~> 0.4.3) mina (~> 1.2.4) passenger (>= 5.3.2)