Promote tag-derived php-homepage chart releases
Publish PHP Apache image / Build, test and push (push) Failing after 44s

This commit is contained in:
2026-10-18 17:32:00 +02:00
parent b83d01de23
commit 01d2abb287
2 changed files with 45 additions and 9 deletions
+33 -9
View File
@@ -9,6 +9,7 @@ on:
env:
IMAGE: registry.brunner.ninja/feedc0de/php-apache
GITOPS_REPOSITORY: feedc0de/homelab-gitops
jobs:
publish:
@@ -17,8 +18,10 @@ jobs:
timeout-minutes: 30
steps:
- name: Check out source
- name: Check out source and tags
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4
@@ -125,11 +128,8 @@ jobs:
test -n "${php_version}"
version_tag="${apache_version}-${php_version}"
printf 'VERSION_TAG=%s\n' "${version_tag}" >> "${GITHUB_ENV}"
run_attempt="${GITHUB_RUN_ATTEMPT:-1}"
test -n "${GITHUB_RUN_NUMBER}"
chart_version="0.${GITHUB_RUN_NUMBER}.${run_attempt}"
chart_version="$(./scripts/chart-version.sh)"
printf 'CHART_VERSION=%s\n' "${chart_version}" >> "${GITHUB_ENV}"
printf 'BUILD_TAG=chart-%s\n' "${chart_version}" >> "${GITHUB_ENV}"
- name: Push commit tag
if: gitea.event_name == 'push'
@@ -143,15 +143,13 @@ jobs:
COMMIT_SHA: ${{ gitea.sha }}
run: |
set -euo pipefail
docker tag "${IMAGE}:${COMMIT_SHA}" "${IMAGE}:${BUILD_TAG}"
docker tag "${IMAGE}:${COMMIT_SHA}" "${IMAGE}:${VERSION_TAG}"
docker tag "${IMAGE}:${COMMIT_SHA}" "${IMAGE}:latest"
docker push "${IMAGE}:${BUILD_TAG}"
docker push "${IMAGE}:${VERSION_TAG}"
docker push "${IMAGE}:latest"
- name: Publish Helm chart
if: gitea.ref == 'refs/heads/main' || gitea.event_name == 'schedule'
if: gitea.ref == 'refs/heads/main'
env:
PACKAGE_USERNAME: ${{ secrets.PACKAGE_USERNAME }}
PACKAGE_TOKEN: ${{ secrets.PACKAGE_TOKEN }}
@@ -163,7 +161,7 @@ jobs:
helm package helm/php-homepage \
--destination .chart-packages \
--version "${CHART_VERSION}" \
--app-version "${BUILD_TAG}"
--app-version "${COMMIT_SHA}"
chart_file=".chart-packages/php-homepage-${CHART_VERSION}.tgz"
test -f "${chart_file}"
curl --fail --silent --show-error \
@@ -171,3 +169,29 @@ jobs:
--request POST \
--upload-file "${chart_file}" \
https://code.brunner.ninja/api/packages/feedc0de/helm/api/charts
- name: Check out GitOps repository
if: gitea.ref == 'refs/heads/main'
uses: actions/checkout@v4
with:
repository: ${{ env.GITOPS_REPOSITORY }}
ref: main
token: ${{ secrets.GITOPS_TOKEN }}
path: homelab-gitops
- name: Promote the exact chart to every homepage application
if: gitea.ref == 'refs/heads/main'
working-directory: homelab-gitops
run: |
set -euo pipefail
for application in \
brgkepler-com brunner-ninja gschissenes-equipment \
immich-crack pfostendynamics-com watschn-studio; do
./scripts/update-chart-version.sh "${application}" "${CHART_VERSION}"
git add "bootstrap/${application}.yaml"
done
git config user.name "feedc0de"
git config user.email "feedc0de@users.noreply.code.brunner.ninja"
if git diff --cached --quiet; then exit 0; fi
git commit -m "Deploy php-homepage chart ${CHART_VERSION}"
git push origin HEAD:main
+12
View File
@@ -0,0 +1,12 @@
#!/bin/sh
set -eu
description=$(git describe --tags --long --match 'v[0-9]*' --dirty)
case "$description" in
*-dirty) echo "refusing to package a dirty tree" >&2; exit 1 ;;
esac
version=${description#v}
case "$version" in
*-0-g*) version=${version%%-0-g*} ;;
esac
printf '%s\n' "$version"