feat(delivery): publish immutable source images and declare release
Build and Push Container / build-and-push (pull_request) Failing after 3s

This commit is contained in:
2026-09-11 08:53:23 +00:00
parent 8c73f3b464
commit bd5e58d8f4
3 changed files with 19 additions and 2 deletions
+5
View File
@@ -0,0 +1,5 @@
# Service release contract
Butler resolves this repository's protected source revision to verified immutable images. The platform updates only image references in the existing production Compose file and restarts only the already running application services. It preserves current environment, storage, routes, and provider configuration. It retains previous application images and restores them if readiness fails.
Migration and maintenance images are pinned when declared, but this release operation does not run database migrations or maintenance jobs. A release requiring a schema change needs the corresponding explicit platform migration first. No homelab image-pin commit is required for an ordinary compatible application release.
+12
View File
@@ -0,0 +1,12 @@
{
"version": 1,
"deployment": "goff-release",
"environment": "production",
"images": {
"goff_release_goff_image": {
"name": "goff",
"tag": "sha-{revision}"
}
},
"revision_variable": "goff_release_revision"
}
+2 -2
View File
@@ -108,7 +108,7 @@ jobs:
SHA: ${{ gitea.sha }} SHA: ${{ gitea.sha }}
run: | run: |
set -euo pipefail set -euo pipefail
tags=() tags=("$IMAGE_NAME:sha-$SHA")
if [[ "$REF" == refs/tags/* ]]; then if [[ "$REF" == refs/tags/* ]]; then
version="$REF_NAME" version="$REF_NAME"
@@ -143,7 +143,7 @@ jobs:
build_args+=(--tag "$tag") build_args+=(--tag "$tag")
done done
docker build "${build_args[@]}" . docker build --label "org.opencontainers.image.revision=$GITHUB_SHA" "${build_args[@]}" .
- name: Push image - name: Push image
if: ${{ (steps.delivery.outputs.run == 'true') && github.event_name != 'pull_request' }} if: ${{ (steps.delivery.outputs.run == 'true') && github.event_name != 'pull_request' }}