Skip to content
Merged
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
34 changes: 20 additions & 14 deletions .github/workflows/create-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,17 +93,20 @@ jobs:
-
name: Update apt packages
run: docker exec -t imagine-${{ matrix.php-version }} apt-get upgrade -qy
-
name: Fix Let's Encrypt CA certificate
run: docker exec -t -e IPE_KEEP_SYSPKG_CACHE=1 imagine-${{ matrix.php-version }} install-php-extensions @fix_letsencrypt
-
name: Inspect container environment
id: inspect
run: |
if docker exec -t imagine-${{ matrix.php-version }} /installer.sh support-avif; then
if docker exec -t imagine-${{ matrix.php-version }} imagine-install support-avif; then
echo 'AVIF is supported'
AVIF_SUPPORT=yes
else
AVIF_SUPPORT=no
fi
if docker exec -t imagine-${{ matrix.php-version }} /installer.sh support-heic; then
if docker exec -t imagine-${{ matrix.php-version }} imagine-install support-heic; then
echo 'HEIC is supported'
HEIC_SUPPORT=yes
else
Expand All @@ -113,34 +116,37 @@ jobs:
echo "::set-output name=heic-support::$HEIC_SUPPORT"
-
name: Install git
run: docker exec -t imagine-${{ matrix.php-version }} /installer.sh git $GIT_VERSION
run: docker exec -t imagine-${{ matrix.php-version }} imagine-install git $GIT_VERSION
-
name: Install libaom ${{ env.LIBAOM_VERSION }}
if: ${{ steps.inspect.outputs.avif-support == 'yes' || steps.inspect.outputs.heic-support == 'yes' }}
run: docker exec -t imagine-${{ matrix.php-version }} /installer.sh libaom $LIBAOM_VERSION
run: docker exec -t imagine-${{ matrix.php-version }} imagine-install libaom $LIBAOM_VERSION
-
name: Install libdav1d ${{ env.LIBDAV1D_VERSION }}
if: ${{ steps.inspect.outputs.avif-support == 'yes' }}
run: docker exec -t imagine-${{ matrix.php-version }} /installer.sh libdav1d $LIBDAV1D_VERSION
run: docker exec -t imagine-${{ matrix.php-version }} imagine-install libdav1d $LIBDAV1D_VERSION
-
name: Install libyuv
if: ${{ steps.inspect.outputs.avif-support == 'yes' || steps.inspect.outputs.heic-support == 'yes' }}
run: docker exec -t imagine-${{ matrix.php-version }} /installer.sh libyuv
run: docker exec -t imagine-${{ matrix.php-version }} imagine-install libyuv
-
name: Install libavif ${{ env.LIBAVIF_VERSION }}
if: ${{ steps.inspect.outputs.avif-support == 'yes' }}
run: docker exec -t imagine-${{ matrix.php-version }} /installer.sh libavif $LIBAVIF_VERSION
run: docker exec -t imagine-${{ matrix.php-version }} imagine-install libavif $LIBAVIF_VERSION
-
name: Install libde265 ${{ env.LIBDE265_VERSION }}
if: ${{ steps.inspect.outputs.heic-support == 'yes' }}
run: docker exec -t imagine-${{ matrix.php-version }} /installer.sh libde265 $LIBDE265_VERSION
run: docker exec -t imagine-${{ matrix.php-version }} imagine-install libde265 $LIBDE265_VERSION
-
name: Install libheif ${{ env.LIBHEIF_VERSION }}
if: ${{ steps.inspect.outputs.heic-support == 'yes' }}
run: docker exec -t imagine-${{ matrix.php-version }} /installer.sh libheif $LIBHEIF_VERSION
run: docker exec -t imagine-${{ matrix.php-version }} imagine-install libheif $LIBHEIF_VERSION
-
name: Install Composer
run: docker exec -t -e IPE_KEEP_SYSPKG_CACHE=1 imagine-${{ matrix.php-version }} install-php-extensions @composer-2
-
name: Install xdebug PHP extension (without enabling it)
run: docker exec -t -e IPE_KEEP_SYSPKG_CACHE=1 -e IPE_DONT_ENABLE=1 imagine-${{ matrix.php-version }} install-php-extensions xdebug
-
name: Install exif PHP extension
run: docker exec -t -e IPE_KEEP_SYSPKG_CACHE=1 imagine-${{ matrix.php-version }} install-php-extensions exif
Expand All @@ -149,7 +155,7 @@ jobs:
run: docker exec -t imagine-${{ matrix.php-version }} php --ri exif
-
name: Cleanup
run: docker exec -t imagine-${{ matrix.php-version }} /installer.sh cleanup
run: docker exec -t imagine-${{ matrix.php-version }} imagine-install cleanup
-
name: Check container
run: docker container ls -s --filter name=imagine-${{ matrix.php-version }}
Expand Down Expand Up @@ -251,7 +257,7 @@ jobs:
-
name: Install GraphicsMagic
if: ${{ contains(format('-{0}-', matrix.extensions), '-gmagick-') }}
run: docker exec -t imagine-${{ matrix.config.php-version }}-${{ matrix.extensions }} /installer.sh graphicsmagick ${{ matrix.config.graphicsmagic-version }}
run: docker exec -t imagine-${{ matrix.config.php-version }}-${{ matrix.extensions }} imagine-install graphicsmagick ${{ matrix.config.graphicsmagic-version }}
-
name: Install gmagick PHP extension
if: ${{ contains(format('-{0}-', matrix.extensions), '-gmagick-') }}
Expand All @@ -263,7 +269,7 @@ jobs:
-
name: Install ImageMagick
if: ${{ contains(format('-{0}-', matrix.extensions), '-imagick-') }}
run: docker exec -t imagine-${{ matrix.config.php-version }}-${{ matrix.extensions }} /installer.sh imagemagick ${{ matrix.config.imagemagick-version }}
run: docker exec -t imagine-${{ matrix.config.php-version }}-${{ matrix.extensions }} imagine-install imagemagick ${{ matrix.config.imagemagick-version }}
-
name: Install imagick PHP extension
if: ${{ contains(format('-{0}-', matrix.extensions), '-imagick-') }}
Expand All @@ -281,8 +287,8 @@ jobs:
if: ${{ contains(format('-{0}-', matrix.extensions), '-gd-') }}
run: docker exec -t imagine-${{ matrix.config.php-version }}-${{ matrix.extensions }} php --ri gd
-
name: Final cleanup
run: docker exec -t imagine-${{ matrix.config.php-version }}-${{ matrix.extensions }} /installer.sh final-cleanup
name: Cleanup
run: docker exec -t imagine-${{ matrix.config.php-version }}-${{ matrix.extensions }} imagine-install cleanup
-
name: Check container
run: docker container ls -s --filter name=imagine-${{ matrix.config.php-version }}-${{ matrix.extensions }}
Expand Down
4 changes: 2 additions & 2 deletions docker/Dockerfile.base
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ FROM php:${PHP_VERSION}${PHP_VERSION_DOCKERSUFFIX}-cli

COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/

COPY utilities.sh /
COPY imagine-utilities /usr/local/bin/

COPY installer.sh /
COPY imagine-install /usr/local/bin/
28 changes: 19 additions & 9 deletions docker/installer.sh → docker/imagine-install
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set -o nounset
set -o errexit

. "$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)/utilities.sh"
. "$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)/imagine-utilities"

# Install git.
# If it's too old to be used in GitHub Actions we'll build it.
Expand Down Expand Up @@ -325,9 +325,25 @@ installGraphicsmagick() {
installAptPackages \
"^libz[0-9\-]*$ ^libjpeg[0-9]*-turbo ^libpng[0-9\-]*$ ^libjbig[0-9\-]*$ ^libtiff[0-9]*$ ^libwebp[0-9]*$ ^libwebpdemux[0-9]*$ ^libwebpmux[0-9]*$ libxml2 ^liblcms2[0-9\-]*$ ^libfreetype[0-9]*$ $installGraphicsmagick_zstd" \
"libbz2-dev ^libjpeg[0-9]*-turbo-dev libpng-dev libjbig-dev libtiff-dev libwebp-dev libxml2-dev liblcms2-dev ^libfreetype[0-9]*-dev$ $installGraphicsmagick_zstdDev"
printf 'Downloading GraphicsMagick v%s... ' "$1"
installGraphicsmagick_url="http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/${1%.*}/GraphicsMagick-$1.tar.gz"
if ! curl -ksLfI -o /dev/null $installGraphicsmagick_url; then
installGraphicsmagick_url="ftp://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/${1%.*}/GraphicsMagick-$1.tar.gz"
if ! curl -ksLfI -o /dev/null $installGraphicsmagick_url; then
installGraphicsmagick_url="http://78.108.103.11/MIRROR/ftp/GraphicsMagick/${1%.*}/GraphicsMagick-$1.tar.gz"
if ! curl -ksLfI -o /dev/null $installGraphicsmagick_url; then
installGraphicsmagick_url="http://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/$1/GraphicsMagick-$1.tar.gz"
if ! curl -ksLfI -o /dev/null $installGraphicsmagick_url; then
installGraphicsmagick_url="http://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick-history/${1%.*}/GraphicsMagick-$1.tar.gz"
if ! curl -ksLfI -o /dev/null $installGraphicsmagick_url; then
installGraphicsmagick_url="ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/${1%.*}/GraphicsMagick-$1.tar.gz"
fi
fi
fi
fi
fi
printf 'Downloading GraphicsMagick v%s from %s... ' "$1" "$installGraphicsmagick_url"
installGraphicsmagick_dir="$(mktemp -d)"
curl -ksSLf -o - http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/${1%.*}/GraphicsMagick-$1.tar.gz | tar xzm -C "$installGraphicsmagick_dir"
curl -ksSLf -o - "$installGraphicsmagick_url" | tar xzm -C "$installGraphicsmagick_dir"
printf 'done.\n'
cd "$installGraphicsmagick_dir/GraphicsMagick-$1"
CFLAGS='-Wno-misleading-indentation -Wno-unused-const-variable -Wno-pointer-compare -Wno-tautological-compare' ./configure --disable-static --enable-shared
Expand Down Expand Up @@ -410,15 +426,9 @@ case "$1" in
installImagemagick "$2"
;;
cleanup)
uninstallAptDevPackages
rm -rf /var/lib/apt/lists/*
;;
final-cleanup)
uninstallAptDevPackages
rm -rf /var/lib/apt/lists/*
rm -rf /tmp/*
unlink "$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)/utilities.sh"
unlink "$0"
;;
*)
printf 'Unrecognized command: "%s"\n' "$1">&2
Expand Down
File renamed without changes.