Skip to content

Commit 5a9e422

Browse files
committed
Release 7.7.14 - See CHANGELOG.md
1 parent 3471a0b commit 5a9e422

File tree

5 files changed

+364
-8
lines changed

5 files changed

+364
-8
lines changed

.github/workflows/main.yml

Lines changed: 250 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,134 @@ on:
1111
- '**'
1212
- '!README.md'
1313
jobs:
14+
php84_alpine:
15+
env:
16+
DISTRO: "alpine"
17+
DISTRO_VARIANT: "3.21"
18+
PHP_BASE: 8.4
19+
build_file: Dockerfile
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
25+
- name: Prepare
26+
id: prep
27+
run: |
28+
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
29+
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
30+
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
31+
else
32+
git_branch=${GITHUB_REF#refs/heads/}
33+
fi
34+
35+
case "${git_branch}" in
36+
"main" | "master" )
37+
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
38+
image_latest=",${GITHUB_REPOSITORY}:latest"
39+
fi
40+
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
41+
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
42+
fi
43+
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}${image_latest}"
44+
;;
45+
"develop" )
46+
branch_tag="${GITHUB_REPOSITORY}:develop"
47+
;;
48+
esac
49+
fi
50+
51+
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
52+
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
53+
fi
54+
55+
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
56+
image_tags=${branch_tag},${git_tag}
57+
else
58+
image_tags="${branch_tag}${git_tag}"
59+
fi
60+
61+
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
62+
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
63+
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
64+
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
65+
- name: Label
66+
id: Label
67+
run: |
68+
image_name=${GITHUB_REPOSITORY/docker-/}
69+
if [ -f "${{ env.build_file }}" ] ; then
70+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
71+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
72+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
73+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
74+
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
75+
76+
if [ -f "CHANGELOG.md" ] ; then
77+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
78+
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
79+
fi
80+
81+
if [[ $GITHUB_REF == refs/tags/* ]]; then
82+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
83+
fi
84+
85+
if [[ $GITHUB_REF == refs/heads/* ]]; then
86+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
87+
fi
88+
fi
89+
- name: Set up Docker Buildx
90+
id: buildx
91+
uses: docker/setup-buildx-action@v3
92+
93+
- name: Set up QEMU
94+
uses: docker/setup-qemu-action@v3
95+
with:
96+
platforms: arm,arm64
97+
98+
- name: Login to DockerHub
99+
if: github.event_name != 'pull_request'
100+
uses: docker/login-action@v3
101+
with:
102+
username: ${{ secrets.DOCKER_USERNAME }}
103+
password: ${{ secrets.DOCKER_PASSWORD }}
104+
105+
- name: Login to GitHub Container Registry
106+
if: github.event_name != 'pull_request'
107+
uses: docker/login-action@v3
108+
with:
109+
registry: ghcr.io
110+
username: ${{ github.actor }}
111+
password: ${{ secrets.GITHUB_TOKEN }}
112+
113+
- name: Build
114+
if: github.event_name != 'pull_request'
115+
uses: docker/build-push-action@v6
116+
with:
117+
builder: ${{ steps.buildx.outputs.name }}
118+
context: .
119+
file: ./${{ env.build_file }}
120+
platforms: linux/amd64,linux/arm64,linux/arm/v7
121+
push: true
122+
tags: ${{ steps.prep.outputs.container_images }}
123+
build-args: |
124+
DISTRO=${{ env.DISTRO }}
125+
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
126+
PHP_BASE=${{ env.PHP_BASE }}
127+
128+
- name: Update Docker Hub Information
129+
if: github.event_name != 'pull_request'
130+
uses: peter-evans/dockerhub-description@v4
131+
with:
132+
username: ${{ secrets.DOCKER_USERNAME }}
133+
password: ${{ secrets.DOCKER_PASSWORD }}
134+
repository: ${{ env.dockerhub_repo }}
135+
short-description: ${{ github.event.repository.description }}
136+
readme-filepath: ./README.md
137+
14138
php83_alpine:
15139
env:
16140
DISTRO: "alpine"
17-
DISTRO_VARIANT: "3.20"
141+
DISTRO_VARIANT: "3.21"
18142
PHP_BASE: 8.3
19143
build_file: Dockerfile
20144
runs-on: ubuntu-latest
@@ -261,7 +385,7 @@ jobs:
261385
php82_alpine:
262386
env:
263387
DISTRO: "alpine"
264-
DISTRO_VARIANT: "3.20"
388+
DISTRO_VARIANT: "3.21"
265389
PHP_BASE: 8.2
266390
build_file: Dockerfile
267391
runs-on: ubuntu-latest
@@ -1378,6 +1502,130 @@ jobs:
13781502
short-description: ${{ github.event.repository.description }}
13791503
readme-filepath: ./README.md
13801504
###
1505+
php84_debian_bookworm:
1506+
env:
1507+
DISTRO: "debian"
1508+
DISTRO_VARIANT: "bookworm"
1509+
PHP_BASE: 8.4
1510+
build_file: Dockerfile.debian
1511+
runs-on: ubuntu-latest
1512+
steps:
1513+
- name: Checkout
1514+
uses: actions/checkout@v4
1515+
1516+
- name: Prepare
1517+
id: prep
1518+
run: |
1519+
if [[ "${GITHUB_REF}" == refs/heads/* ]]; then
1520+
if [[ "${GITHUB_REF}" == refs/heads/*/* ]] ; then
1521+
git_branch="${GITHUB_REPOSITORY/docker-/}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")"
1522+
else
1523+
git_branch=${GITHUB_REF#refs/heads/}
1524+
fi
1525+
1526+
case "${git_branch}" in
1527+
"main" | "master" )
1528+
if [ "${{ vars.LATEST }}" = "TRUE" ] || [ "${{ vars.LATEST }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
1529+
image_latest=",${GITHUB_REPOSITORY}:latest"
1530+
fi
1531+
if [ "${{ vars.LATEST_ALPINE }}" = "${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}" ]; then
1532+
image_latest+=",${GITHUB_REPOSITORY}:${DISTRO}"
1533+
fi
1534+
branch_tag="${GITHUB_REPOSITORY}:${PHP_BASE},${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}${image_latest}"
1535+
;;
1536+
"develop" )
1537+
branch_tag="${GITHUB_REPOSITORY}:develop"
1538+
;;
1539+
esac
1540+
fi
1541+
1542+
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
1543+
git_tag="${GITHUB_REPOSITORY}:${PHP_BASE}-${DISTRO}-${DISTRO_VARIANT}-$(echo ${GITHUB_REF} | sed 's|refs/tags/||g')"
1544+
fi
1545+
1546+
if [ -n "${branch_tag}" ] && [ -n "${git_tag}" ]; then
1547+
image_tags=${branch_tag},${git_tag}
1548+
else
1549+
image_tags="${branch_tag}${git_tag}"
1550+
fi
1551+
1552+
echo "dockerhub_repo=${GITHUB_REPOSITORY/docker-/}" >> $GITHUB_ENV
1553+
dockerhub_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|docker.io/${GITHUB_REPOSITORY/docker-/}|g")
1554+
ghcr_images=$(echo "${image_tags}" | sed "s|${GITHUB_REPOSITORY}|ghcr.io/${GITHUB_REPOSITORY}|g")
1555+
echo "container_images=${dockerhub_images},${ghcr_images}" >> $GITHUB_OUTPUT
1556+
- name: Label
1557+
id: Label
1558+
run: |
1559+
image_name=${GITHUB_REPOSITORY/docker-/}
1560+
if [ -f "${{ env.build_file }}" ] ; then
1561+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" ${{ env.build_file }}
1562+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_commit=\"${GITHUB_SHA}\"" ${{ env.build_file }}
1563+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_committed_by=\"${GITHUB_ACTOR}\"" ${{ env.build_file }}
1564+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" ${{ env.build_file }}
1565+
sed -i "/FROM .*/a LABEL org.opencontainers.image.source https://github.com/${GITHUB_REPOSITORY}" ${{ env.build_file }}
1566+
1567+
if [ -f "CHANGELOG.md" ] ; then
1568+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" ${{ env.build_file }}
1569+
mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md
1570+
fi
1571+
1572+
if [[ $GITHUB_REF == refs/tags/* ]]; then
1573+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_tag=\"${GITHUB_REF#refs/tags/v}\"" ${{ env.build_file }}
1574+
fi
1575+
1576+
if [[ $GITHUB_REF == refs/heads/* ]]; then
1577+
sed -i "/FROM .*/a LABEL tiredofit.${image_name}.git_branch=\"${GITHUB_REF#refs/heads/}\"" ${{ env.build_file }}
1578+
fi
1579+
fi
1580+
- name: Set up Docker Buildx
1581+
id: buildx
1582+
uses: docker/setup-buildx-action@v3
1583+
1584+
- name: Set up QEMU
1585+
uses: docker/setup-qemu-action@v3
1586+
with:
1587+
platforms: arm,arm64
1588+
1589+
- name: Login to DockerHub
1590+
if: github.event_name != 'pull_request'
1591+
uses: docker/login-action@v3
1592+
with:
1593+
username: ${{ secrets.DOCKER_USERNAME }}
1594+
password: ${{ secrets.DOCKER_PASSWORD }}
1595+
1596+
- name: Login to GitHub Container Registry
1597+
if: github.event_name != 'pull_request'
1598+
uses: docker/login-action@v3
1599+
with:
1600+
registry: ghcr.io
1601+
username: ${{ github.actor }}
1602+
password: ${{ secrets.GITHUB_TOKEN }}
1603+
1604+
- name: Build
1605+
if: github.event_name != 'pull_request'
1606+
uses: docker/build-push-action@v6
1607+
with:
1608+
builder: ${{ steps.buildx.outputs.name }}
1609+
context: .
1610+
file: ./${{ env.build_file }}
1611+
platforms: linux/amd64,linux/arm64,linux/arm/v7
1612+
push: true
1613+
tags: ${{ steps.prep.outputs.container_images }}
1614+
build-args: |
1615+
DISTRO=${{ env.DISTRO }}
1616+
DISTRO_VARIANT=${{ env.DISTRO_VARIANT }}
1617+
PHP_BASE=${{ env.PHP_BASE }}
1618+
1619+
- name: Update Docker Hub Information
1620+
if: github.event_name != 'pull_request'
1621+
uses: peter-evans/dockerhub-description@v4
1622+
with:
1623+
username: ${{ secrets.DOCKER_USERNAME }}
1624+
password: ${{ secrets.DOCKER_PASSWORD }}
1625+
repository: ${{ env.dockerhub_repo }}
1626+
short-description: ${{ github.event.repository.description }}
1627+
readme-filepath: ./README.md
1628+
#
13811629
php83_debian_bookworm:
13821630
env:
13831631
DISTRO: "debian"

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
## 7.7.14 2024-12-07 <dave at tiredofit dot ca>
2+
3+
### Added
4+
- Add PHP 8.4 Support
5+
6+
### Changed
7+
- Switch PHP 8.3 and PHP 8.2 to use Alpine 3.21 as base
8+
9+
110
## 7.7.13 2024-10-22 <dave at tiredofit dot ca>
211

312
### Added

0 commit comments

Comments
 (0)