diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 0000000..5b9cda3 --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["github>ivuorinen/.github:renovate-config"] +} diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 0000000..750e3da --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,42 @@ +name: GitHub Docker Registry Build + +on: + schedule: + - cron: '41 1 * * *' + push: + branches: [ "main" ] + workflow_dispatch: + +env: + # Use docker.io for Docker Hub if empty + REGISTRY: ghcr.io + # github.repository as / + IMAGE_NAME: ${{ github.repository }} + +jobs: + + build: + runs-on: ubuntu-latest + + strategy: + matrix: + php: [php74, php80, php81, php82] + + steps: + - uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Publish to Registry (${{ matrix.php }}) + uses: elgohr/Publish-Docker-Github-Action@v5 + with: + name: ${{ env.IMAGE_NAME }}/php-imagick + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + registry: ghcr.io + tags: ${{ matrix.phpDir }} + dockerfile: Dockerfile-${{ matrix.php }} + default_branch: main + platforms: linux/amd64,linux/arm64 + cache: ${{ github.event_name != 'schedule' }} diff --git a/Dockerfile-php74 b/Dockerfile-php74 new file mode 100644 index 0000000..f6cca9e --- /dev/null +++ b/Dockerfile-php74 @@ -0,0 +1,17 @@ +FROM php:7.4 + +RUN docker-php-ext-install bcmath \ + && docker-php-ext-configure pcntl \ + && docker-php-ext-install pcntl \ + && apt-get update \ + && apt-get install -y \ + libicu-dev libxml2-dev libfreetype6-dev libjpeg62-turbo-dev \ + libpng-dev libonig-dev libmagickwand-dev python-dev unzip \ + && docker-php-ext-configure gd --with-freetype --with-jpeg \ + && docker-php-ext-install -j$(nproc) intl mbstring pdo xml gd exif bcmath \ + && yes '' | pecl install imagick \ + && docker-php-ext-enable imagick \ + && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +RUN php --version \ + && composer --version \ diff --git a/Dockerfile-php80 b/Dockerfile-php80 new file mode 100644 index 0000000..12fd4d6 --- /dev/null +++ b/Dockerfile-php80 @@ -0,0 +1,17 @@ +FROM php:8.0 + +RUN docker-php-ext-install bcmath \ + && docker-php-ext-configure pcntl \ + && docker-php-ext-install pcntl \ + && apt-get update \ + && apt-get install -y \ + libicu-dev libxml2-dev libfreetype6-dev libjpeg62-turbo-dev \ + libpng-dev libonig-dev libmagickwand-dev python-dev unzip \ + && docker-php-ext-configure gd --with-freetype --with-jpeg \ + && docker-php-ext-install -j$(nproc) intl mbstring pdo xml gd exif bcmath \ + && yes '' | pecl install imagick \ + && docker-php-ext-enable imagick \ + && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +RUN php --version \ + && composer --version \ diff --git a/Dockerfile-php81 b/Dockerfile-php81 new file mode 100644 index 0000000..ed7ae14 --- /dev/null +++ b/Dockerfile-php81 @@ -0,0 +1,17 @@ +FROM php:8.1 + +RUN docker-php-ext-install bcmath \ + && docker-php-ext-configure pcntl \ + && docker-php-ext-install pcntl \ + && apt-get update \ + && apt-get install -y \ + libicu-dev libxml2-dev libfreetype6-dev libjpeg62-turbo-dev \ + libpng-dev libonig-dev libmagickwand-dev python-dev unzip \ + && docker-php-ext-configure gd --with-freetype --with-jpeg \ + && docker-php-ext-install -j$(nproc) intl mbstring pdo xml gd exif bcmath \ + && yes '' | pecl install imagick \ + && docker-php-ext-enable imagick \ + && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +RUN php --version \ + && composer --version \ diff --git a/Dockerfile-php82 b/Dockerfile-php82 new file mode 100644 index 0000000..ffd62da --- /dev/null +++ b/Dockerfile-php82 @@ -0,0 +1,17 @@ +FROM php:8.2 + +RUN docker-php-ext-install bcmath \ + && docker-php-ext-configure pcntl \ + && docker-php-ext-install pcntl \ + && apt-get update \ + && apt-get install -y \ + libicu-dev libxml2-dev libfreetype6-dev libjpeg62-turbo-dev \ + libpng-dev libonig-dev libmagickwand-dev python-dev unzip \ + && docker-php-ext-configure gd --with-freetype --with-jpeg \ + && docker-php-ext-install -j$(nproc) intl mbstring pdo xml gd exif bcmath \ + && yes '' | pecl install imagick \ + && docker-php-ext-enable imagick \ + && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +RUN php --version \ + && composer --version \