Skip to content

Release 7.7.11 - See CHANGELOG.md #559

Release 7.7.11 - See CHANGELOG.md

Release 7.7.11 - See CHANGELOG.md #559

Workflow file for this run

### Application Level Image CI
### Dave Conroy <dave at tiredofit dot ca>
name: 'build'
on:
schedule:
- cron: 1 9 * * 6
push:
paths:
- '**'
- '!README.md'
jobs:
php83_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.20"
PHP_BASE: 8.3
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php82_alpine_319:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.19"
PHP_BASE: 8.2
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO_VARIANT},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
php82_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.20"
PHP_BASE: 8.2
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php81_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.19"
PHP_BASE: 8.1
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php80_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.16"
PHP_BASE: 8.0
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php74_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.15"
PHP_BASE: 7.4
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php73_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.12"
PHP_BASE: 7.3
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php72_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.9"
PHP_BASE: 7.2
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php71_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.7"
PHP_BASE: 7.1
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php70_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.5"
PHP_BASE: 7.0
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php56_alpine:
env:
DISTRO: "alpine"
DISTRO_VARIANT: "3.5"
PHP_BASE: 5.6
build_file: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php83_debian_bookworm:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bookworm"
PHP_BASE: 8.3
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php82_debian_bookworm:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bookworm"
PHP_BASE: 8.2
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
php82_debian_bullseye:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bullseye"
PHP_BASE: 8.2
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php82_debian_buster:
env:
DISTRO: "debian"
DISTRO_VARIANT: "buster"
PHP_BASE: 8.2
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php81_debian_bookworm:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bookworm"
PHP_BASE: 8.1
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php81_debian_bullseye:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bullseye"
PHP_BASE: 8.1
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php81_debian_buster:
env:
DISTRO: "debian"
DISTRO_VARIANT: "buster"
PHP_BASE: 8.1
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php80_debian_bookworm:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bookworm"
PHP_BASE: "8.0"
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php80_debian_bullseye:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bullseye"
PHP_BASE: "8.0"
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php80_debian_buster:
env:
DISTRO: "debian"
DISTRO_VARIANT: "buster"
PHP_BASE: "8.0"
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php74_debian_bookworm:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bookworm"
PHP_BASE: 7.4
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php74_debian_bullseye:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bullseye"
PHP_BASE: 7.4
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php74_debian_buster:
env:
DISTRO: "debian"
DISTRO_VARIANT: "buster"
PHP_BASE: 7.4
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php73_debian_bookworm:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bookworm"
PHP_BASE: 7.3
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php73_debian_bullseye:
env:
DISTRO: "debian"
DISTRO_VARIANT: "bullseye"
PHP_BASE: 7.3
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###
php73_debian_buster:
env:
DISTRO: "debian"
DISTRO_VARIANT: "buster"
PHP_BASE: 7.3
build_file: Dockerfile.debian
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Prepare
id: prep
run: |
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
else
git_branch=${GITHUB_REF#refs/heads/}
fi
case "${git_branch}" in
"main" | "master" )
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest=",${GITHUB_REPOSITORY}:latest"
fi
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
fi
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
;;
"develop" )
branch_tag="${GITHUB_REPOSITORY}:develop"
;;
esac
fi
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
fi
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
image_tags=${branch_tag},${git_tag}
else
image_tags="${branch_tag}${git_tag}"
fi
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
- name: Label
id: Label
run: |
image_name=${GITHUB_REPOSITORY/docker-/}
if [ -f "${{ env.build_file }}" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
if [ -f "CHANGELOG.md" ] ; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
fi
if [[ $GITHUB_REF == refs/tags/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
fi
if [[ $GITHUB_REF == refs/heads/* ]]; then
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
fi
fi
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build
if: github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: ./${{ env.build_file }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
tags: ${{ steps.prep.outputs.container_images }}
build-args: |
DISTRO=${{ env.DISTRO }}
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
PHP_BASE=${{ env.PHP_BASE }}
- name: Update Docker Hub Information
if: github.event_name != 'pull_request'
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: ${{ env.dockerhub_repo }}
short-description: ${{ github.event.repository.description }}
readme-filepath: ./README.md
###