Build custom container images / build (map[base_image:php:8-fpm-alpine build_args:PHP_VERSION=8
context:php8-pgsql fingerprint_command:{ apk info -v | LC_ALL=C sort; find /usr/local/lib/php/extensions /usr/local/etc/php/conf.d -type f -exec sha256sum {} + | LC_ALL=C sort; }
name:ph… (push) Successful in 41s
Build custom container images / build (map[base_image:postgres:18 build_args:PG_VERSION=18
POSTGIS_VERSION=3
VCHORD_VERSION=0.5.3
context:postgres fingerprint_command:{ dpkg-query -W -f='${binary:Package}=${Version}\n' | LC_ALL=C sort; find /usr/lib/postgresql -type f -exec sha256su… (push) Successful in 1m40s
Build custom container images / build (map[base_image:python:3 build_args:PYTHON_VERSION=3
context:python-tools fingerprint_command:dpkg-query -W -f='${binary:Package}=${Version}\n' | LC_ALL=C sort
name:python-tools oci_labels:org.opencontainers.image.title=Python 3 tools with Exif… (push) Successful in 52s
108 lines
4.6 KiB
YAML
108 lines
4.6 KiB
YAML
name: Build custom container images
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "27 3 * * 1"
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
env:
|
|
REGISTRY: git.ajpanton.se
|
|
OWNER: ajp_anton
|
|
PG_VERSION: "18"
|
|
POSTGIS_VERSION: "3"
|
|
VCHORD_VERSION: "0.5.3"
|
|
PHP_VERSION: "8"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
image:
|
|
- name: postgres-custom
|
|
context: postgres
|
|
base_image: postgres:18
|
|
primary_tag: git.ajpanton.se/ajp_anton/postgres-custom:18
|
|
oci_labels: |
|
|
org.opencontainers.image.title=PostgreSQL 18 with extensions
|
|
org.opencontainers.image.description=PostgreSQL 18 with PostGIS, pgvector, pg_cron, and VectorChord preloaded.
|
|
org.opencontainers.image.documentation=https://git.ajpanton.se/ajp_anton/docker-images#postgres-custom
|
|
org.opencontainers.image.source=https://git.ajpanton.se/ajp_anton/docker-images
|
|
org.opencontainers.image.url=https://git.ajpanton.se/ajp_anton/-/packages/container/postgres-custom
|
|
tags: |
|
|
git.ajpanton.se/ajp_anton/postgres-custom:18
|
|
git.ajpanton.se/ajp_anton/postgres-custom:18-postgis3-vchord0.5.3
|
|
git.ajpanton.se/ajp_anton/postgres-custom:latest
|
|
build_args: |
|
|
PG_VERSION=18
|
|
POSTGIS_VERSION=3
|
|
VCHORD_VERSION=0.5.3
|
|
fingerprint_command: |
|
|
{ dpkg-query -W -f='${binary:Package}=${Version}\n' | LC_ALL=C sort; find /usr/lib/postgresql -type f -exec sha256sum {} + | LC_ALL=C sort; }
|
|
- name: php8-pgsql
|
|
context: php8-pgsql
|
|
base_image: php:8-fpm-alpine
|
|
primary_tag: git.ajpanton.se/ajp_anton/php8-pgsql:8
|
|
oci_labels: |
|
|
org.opencontainers.image.title=PHP 8 FPM with PostgreSQL support
|
|
org.opencontainers.image.description=PHP 8 FPM on Alpine with libpq and the pdo_pgsql extension enabled.
|
|
org.opencontainers.image.documentation=https://git.ajpanton.se/ajp_anton/docker-images#php8-pgsql
|
|
org.opencontainers.image.source=https://git.ajpanton.se/ajp_anton/docker-images
|
|
org.opencontainers.image.url=https://git.ajpanton.se/ajp_anton/-/packages/container/php8-pgsql
|
|
tags: |
|
|
git.ajpanton.se/ajp_anton/php8-pgsql:8
|
|
git.ajpanton.se/ajp_anton/php8-pgsql:8-fpm-alpine
|
|
git.ajpanton.se/ajp_anton/php8-pgsql:latest
|
|
build_args: |
|
|
PHP_VERSION=8
|
|
fingerprint_command: |
|
|
{ apk info -v | LC_ALL=C sort; find /usr/local/lib/php/extensions /usr/local/etc/php/conf.d -type f -exec sha256sum {} + | LC_ALL=C sort; }
|
|
- name: python-tools
|
|
context: python-tools
|
|
base_image: python:3
|
|
primary_tag: git.ajpanton.se/ajp_anton/python-tools:3
|
|
oci_labels: |
|
|
org.opencontainers.image.title=Python 3 tools with ExifTool
|
|
org.opencontainers.image.description=Python 3 utility image with ExifTool for local helper workflows.
|
|
org.opencontainers.image.documentation=https://git.ajpanton.se/ajp_anton/docker-images#python-tools
|
|
org.opencontainers.image.source=https://git.ajpanton.se/ajp_anton/docker-images
|
|
org.opencontainers.image.url=https://git.ajpanton.se/ajp_anton/-/packages/container/python-tools
|
|
tags: |
|
|
git.ajpanton.se/ajp_anton/python-tools:3
|
|
git.ajpanton.se/ajp_anton/python-tools:latest
|
|
build_args: |
|
|
PYTHON_VERSION=3
|
|
fingerprint_command: |
|
|
dpkg-query -W -f='${binary:Package}=${Version}\n' | LC_ALL=C sort
|
|
|
|
steps:
|
|
- name: Check out repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Log in to Gitea container registry
|
|
run: |
|
|
printf '%s' "$REGISTRY_TOKEN" | docker login "$REGISTRY" --username "$REGISTRY_USERNAME" --password-stdin
|
|
|
|
- name: Build and push ${{ matrix.image.name }}
|
|
env:
|
|
IMAGE_NAME: ${{ matrix.image.name }}
|
|
BUILD_CONTEXT: ${{ matrix.image.context }}
|
|
BASE_IMAGE: ${{ matrix.image.base_image }}
|
|
PRIMARY_TAG: ${{ matrix.image.primary_tag }}
|
|
TAGS: ${{ matrix.image.tags }}
|
|
OCI_LABELS: ${{ matrix.image.oci_labels }}
|
|
BUILD_ARGS: ${{ matrix.image.build_args }}
|
|
FINGERPRINT_COMMAND: ${{ matrix.image.fingerprint_command }}
|
|
run: ./scripts/build-image-if-changed.sh
|