name: Ubuntu ${{ matrix.ubuntu }}, Ruby ${{ matrix.ruby }}
strategy:
matrix:
- ubuntu: [18.04, 20.04]
+ ubuntu: [20.04]
ruby: [2.7, 3.0]
runs-on: ubuntu-${{ matrix.ubuntu }}
env:
- name: Install packages
run: |
sudo apt-get -yqq update
- sudo apt-get -yqq install memcached
+ sudo apt-get -yqq install memcached libvips-dev
- name: Install gems
run: |
gem install bundler
* Ruby 2.7+
* PostgreSQL 9.1+
-* ImageMagick
* Bundler (see note below about [developer Ruby setup](#rbenv))
* Javascript Runtime
```
sudo apt-get update
sudo apt-get install ruby2.7 libruby2.7 ruby2.7-dev \
- libmagickwand-dev libxml2-dev libxslt1-dev nodejs \
+ libvips-dev libxml2-dev libxslt1-dev nodejs \
apache2 apache2-dev build-essential git-core firefox-geckodriver \
postgresql postgresql-contrib libpq-dev libsasl2-dev \
- imagemagick libffi-dev libgd-dev libarchive-dev libbz2-dev yarnpkg
+ libffi-dev libgd-dev libarchive-dev libbz2-dev yarnpkg
sudo gem2.7 install bundler
```
libxml2-devel nodejs \
gcc gcc-c++ git \
postgresql postgresql-server postgresql-contrib libpq-devel \
- perl-podlators ImageMagick libffi-devel gd-devel libarchive-devel \
- bzip2-devel nodejs-yarn
+ perl-podlators libffi-devel gd-devel libarchive-devel \
+ bzip2-devel nodejs-yarn vips-devel
```
If you didn't already have PostgreSQL installed then create a PostgreSQL instance and start the server:
* Install Homebrew from https://brew.sh/
* Install the latest version of Ruby: `brew install ruby`
-* Install other dependencies: `brew install imagemagick libxml2 gd yarn pngcrush optipng pngquant jhead jpegoptim gifsicle svgo advancecomp`
+* Install other dependencies: `brew install libxml2 gd yarn pngcrush optipng pngquant jhead jpegoptim gifsicle svgo advancecomp vips`
* Install Bundler: `gem install bundler` (you might need to `sudo gem install bundler` if you get an error about permissions - or see note below about [developer Ruby setup](#rbenv))
You will need to tell `bundler` that `libxml2` is installed in a Homebrew location. If it uses the system-installed one then you will get errors installing the `libxml-ruby` gem later on<a name="macosx-bundle-config"></a>.
# generate variants to use image processing macros and ruby-vips
# operations. See the upgrading guide for detail on the changes required.
# The `:mini_magick` option is not deprecated; it's fine to keep using it.
-# Rails.application.config.active_storage.variant_processor = :vips
+Rails.application.config.active_storage.variant_processor = :vips
# If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer
# was `:marshal`. Convert all cookies to JSON, using the `:hybrid` formatter.
# install packages as explained in INSTALL.md
apt-get install -y ruby2.7 libruby2.7 ruby2.7-dev \
- libmagickwand-dev libxml2-dev libxslt1-dev nodejs yarnpkg \
+ libxml2-dev libxslt1-dev nodejs yarnpkg \
apache2 apache2-dev build-essential git-core firefox-geckodriver \
- postgresql postgresql-contrib libpq-dev \
- libsasl2-dev imagemagick libffi-dev libgd-dev libarchive-dev libbz2-dev
+ postgresql postgresql-contrib libpq-dev libvips-dev \
+ libsasl2-dev libffi-dev libgd-dev libarchive-dev libbz2-dev
gem2.7 install rake
gem2.7 install --version "~> 2.1.4" bundler