From 75b4cc92da0c0d2bbdaa101fe479a5dff91db62d Mon Sep 17 00:00:00 2001 From: Lyncoln Date: Fri, 30 Oct 2026 23:41:42 -0400 Subject: [PATCH] Repaired build workflow --- .gitea/workflows/build.yml | 74 +++++++++++++++++++++++++++++++++----- 1 file changed, 66 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 6d24809..fe787b0 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -35,9 +35,10 @@ jobs: fi git checkout --detach FETCH_HEAD + git config --global --add safe.directory "$PWD" # --------------------------------------------- - # Determine image tags + # Determine image version and commit SHA # --------------------------------------------- - name: Determine version id: version @@ -45,12 +46,13 @@ jobs: set -euo pipefail SHORT_SHA="$(git rev-parse --short=7 HEAD)" - echo "sha=$SHORT_SHA" >> "$GITHUB_OUTPUT" if [ -f VERSION ]; then VERSION="$(tr -d '[:space:]' < VERSION)" echo "version=$VERSION" >> "$GITHUB_OUTPUT" + else + echo "version=" >> "$GITHUB_OUTPUT" fi # --------------------------------------------- @@ -69,7 +71,7 @@ jobs: --password-stdin # --------------------------------------------- - # Build container image + # Build and export container image # --------------------------------------------- - name: Build RMManager image env: @@ -85,14 +87,62 @@ jobs: -f Containerfile \ -t "$FULL_IMAGE:latest" \ -t "$FULL_IMAGE:sha-$SHORT_SHA" \ + --output "type=docker,dest=$RUNNER_TEMP/rmmanager-built.tar" \ . + # --------------------------------------------- + # Load exported image into Docker + # --------------------------------------------- + - name: Load RMManager image + run: | + set -euo pipefail + + docker load \ + --input "$RUNNER_TEMP/rmmanager-built.tar" + + # --------------------------------------------- + # Add optional version tag + # --------------------------------------------- + - name: Tag RMManager image + env: + REGISTRY: ${{ vars.REGISTRY }} + VERSION: ${{ steps.version.outputs.version }} + run: | + set -euo pipefail + + FULL_IMAGE="$REGISTRY/david/rmmanager" + if [ -n "$VERSION" ]; then - docker tag "$FULL_IMAGE:latest" "$FULL_IMAGE:v$VERSION" + docker tag \ + "$FULL_IMAGE:latest" \ + "$FULL_IMAGE:v$VERSION" fi # --------------------------------------------- - # Publish image + # Verify local image and tags + # --------------------------------------------- + - name: Verify RMManager image + env: + REGISTRY: ${{ vars.REGISTRY }} + VERSION: ${{ steps.version.outputs.version }} + SHORT_SHA: ${{ steps.version.outputs.sha }} + run: | + set -euo pipefail + + FULL_IMAGE="$REGISTRY/david/rmmanager" + + docker version + docker image ls + + docker image inspect "$FULL_IMAGE:latest" + docker image inspect "$FULL_IMAGE:sha-$SHORT_SHA" + + if [ -n "$VERSION" ]; then + docker image inspect "$FULL_IMAGE:v$VERSION" + fi + + # --------------------------------------------- + # Publish image to Gitea registry # --------------------------------------------- - name: Push RMManager image env: @@ -112,13 +162,21 @@ jobs: fi # --------------------------------------------- - # Summary + # Report successful build # --------------------------------------------- - name: Report build env: REGISTRY: ${{ vars.REGISTRY }} + VERSION: ${{ steps.version.outputs.version }} SHORT_SHA: ${{ steps.version.outputs.sha }} run: | - echo "RMManager build completed" + set -euo pipefail + + echo "RMManager build and publish completed" echo "Image: $REGISTRY/david/rmmanager" - echo "Commit: $SHORT_SHA" + echo "Latest tag: latest" + echo "Commit tag: sha-$SHORT_SHA" + + if [ -n "$VERSION" ]; then + echo "Version tag: v$VERSION" + fi