add weekly build, change to trixie and clean up
This commit is contained in:
parent
15adccd03c
commit
76b56114b5
3 changed files with 52 additions and 15 deletions
50
.gitea/workflows/weekly-build.yml
Normal file
50
.gitea/workflows/weekly-build.yml
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
name: Weekly Docker Image Rebuild
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 2 * * 0'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to Container Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.paucapo.com
|
||||||
|
username: ${{ secrets.REGISTRY_USER }}
|
||||||
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Build and push PHP images
|
||||||
|
run: |
|
||||||
|
PHP_VERSIONS="7.4 8.0 8.1 8.2"
|
||||||
|
PLATFORMS="linux/arm64/v8,linux/amd64"
|
||||||
|
|
||||||
|
docker buildx create --use --platform=linux/arm64/v8,linux/amd64 --name multi-platform-builder
|
||||||
|
docker buildx inspect --bootstrap
|
||||||
|
|
||||||
|
for PHP_VERSION in ${PHP_VERSIONS}; do
|
||||||
|
echo "Building php:${PHP_VERSION}"
|
||||||
|
docker buildx build \
|
||||||
|
--no-cache \
|
||||||
|
--platform=${PLATFORMS} \
|
||||||
|
--push \
|
||||||
|
-f "./Dockerfile-php" \
|
||||||
|
-t "git.paucapo.com/server/php:${PHP_VERSION}" \
|
||||||
|
--build-arg PHP_VERSION=${PHP_VERSION} \
|
||||||
|
.
|
||||||
|
done
|
||||||
|
|
||||||
|
docker buildx rm multi-platform-builder --force
|
||||||
|
|
||||||
|
- name: Cleanup
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
docker image prune -a --force
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
FROM debian:bookworm-slim
|
FROM debian:trixie-slim
|
||||||
|
|
||||||
ARG PHP_VERSION=7.4
|
ARG PHP_VERSION=7.4
|
||||||
ARG WKHTML=""
|
|
||||||
|
|
||||||
RUN apt-get update -y
|
RUN apt-get update -y
|
||||||
RUN apt-get upgrade -y
|
RUN apt-get upgrade -y
|
||||||
|
|
@ -19,19 +18,12 @@ RUN apt-get install -y --no-install-recommends imagemagick apache2 msmtp msmtp-m
|
||||||
php${PHP_VERSION}-imagick php${PHP_VERSION}-intl php${PHP_VERSION}-mbstring \
|
php${PHP_VERSION}-imagick php${PHP_VERSION}-intl php${PHP_VERSION}-mbstring \
|
||||||
php${PHP_VERSION}-mysql php${PHP_VERSION}-opcache php${PHP_VERSION}-readline php${PHP_VERSION}-sqlite3 \
|
php${PHP_VERSION}-mysql php${PHP_VERSION}-opcache php${PHP_VERSION}-readline php${PHP_VERSION}-sqlite3 \
|
||||||
php${PHP_VERSION}-xml php${PHP_VERSION}-yaml php${PHP_VERSION}-zip php${PHP_VERSION}-apcu \
|
php${PHP_VERSION}-xml php${PHP_VERSION}-yaml php${PHP_VERSION}-zip php${PHP_VERSION}-apcu \
|
||||||
|
php${PHP_VERSION}-redis \
|
||||||
libapache2-mod-php${PHP_VERSION}
|
libapache2-mod-php${PHP_VERSION}
|
||||||
|
|
||||||
# specific PHP modules for some versions
|
# specific PHP modules for some versions
|
||||||
RUN if [[ "${PHP_VERSION}" == "7.4" ]] ; then apt-get -y install php${PHP_VERSION}-json; fi
|
RUN if [[ "${PHP_VERSION}" == "7.4" ]] ; then apt-get -y install php${PHP_VERSION}-json; fi
|
||||||
|
|
||||||
# install wkhtml if needed
|
|
||||||
RUN if [[ "${WKHTML}" != "" ]] ; then \
|
|
||||||
apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev fontconfig libfreetype6 libjpeg62-turbo \
|
|
||||||
libpng16-16 libx11-6 libxcb1 libxext6 libxrender1 xfonts-75dpi xfonts-base; \
|
|
||||||
curl -L https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_arm64.deb -o /tmp/wkhtmltox.deb; \
|
|
||||||
dpkg -i /tmp/wkhtmltox.deb; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
# upgrade system a second time
|
# upgrade system a second time
|
||||||
RUN apt-get upgrade -y
|
RUN apt-get upgrade -y
|
||||||
|
|
||||||
|
|
|
||||||
5
build.sh
5
build.sh
|
|
@ -1,7 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
PHP_VERSIONS="7.4 8.0 8.1 8.2"
|
PHP_VERSIONS="7.4 8.0 8.1 8.2"
|
||||||
WKHTML=""
|
|
||||||
PLATFORMS="linux/arm64/v8,linux/amd64"
|
PLATFORMS="linux/arm64/v8,linux/amd64"
|
||||||
|
|
||||||
# testing
|
# testing
|
||||||
|
|
@ -36,10 +35,6 @@ for PHP_VERSION in ${PHP_VERSIONS}; do
|
||||||
build ${PHP_VERSION} ${PHP_VERSION}
|
build ${PHP_VERSION} ${PHP_VERSION}
|
||||||
done
|
done
|
||||||
|
|
||||||
for PHP_VERSION in ${WKHTML}; do
|
|
||||||
build "${PHP_VERSION}-wkhtml" "${PHP_VERSION}" "--build-arg WKHTML=1"
|
|
||||||
done
|
|
||||||
|
|
||||||
docker buildx rm multi-platform-builder --force
|
docker buildx rm multi-platform-builder --force
|
||||||
docker image prune -a --force
|
docker image prune -a --force
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue