Gem Version Build Status Rubocop Docker build Livecheck Code Climate Depfu Inch CI

image_optim_pack

Precompiled binaries for image_optim.

Contains binaries for Mac OS X (>= 10.9, x86_64) and Linux (x86_64).

A test application with latest image_optim and image_optim_pack is available on render: https://iopack.onrender.com/.

Binaries and libraries

NOTE: On FreeBSD and OpenBSD make is not the GNU Make, so gmake should be used instead.

You can download all source code using gnu make download target:

make download

Installation

gem install image_optim image_optim_pack

Or add to your Gemfile:

gem 'image_optim'
gem 'image_optim_pack'

Development

Mac OS X binaries and libraries are built on host, others using containers.

script/run # Build and test all for all oses and architectures
script/run NO_HALT=1 # Don't halt VMs after building
script/run NO_UP=1 # Don't start VMs before building (will fail if not already running)
script/run darwin 64 # Build only platforms matching darwin or 64

make # Build all tools and copy them to vendor/OS-ARCH for current OS and ARCH, then test
make all # same

script/livecheck # Check versions
make update-versions # Update versions in Makefile

make download # Download archives
make download-tidy-up # Remove old archives
make build # Build all without copying to output directory

make test # Test bins for current os/arch
make test -i # Continue if one of bins fail

make clean # Remove build and output directories for current os/arch
make clean-all # Remove build root and output root directories
make clobber # `clean-all` and remove download directory

Docker

This project includes a Dockerfile in the root, which builds a minimal image with most binaries included.

Running

docker run --rm ghcr.io/toy/image_optim --version # image_optim version
docker run --rm ghcr.io/toy/image_optim --info # image_optim info including bin versions
docker run --rm -v "$PWD":/here -w /here ghcr.io/toy/image_optim image-in-this-folder.jpg

Building

make docker-build # will be tagged with latest and current date in format %Y%m%d
make docker-push # will push tags created by docker-build

Copyright (c) 2014-2024 Ivan Kuchin. See LICENSE.txt for details.