From 5c93c2365da11fce5cd7b4914df1ea547747f892 Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 16 Jul 2026 13:40:50 -0500 Subject: [PATCH 1/2] fix: copy lxc_profiles.json into Docker image The Dockerfile copied cloud_images.json but never lxc_profiles.json, so the file was missing at runtime and LXC profile bundles silently failed to load. --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 9bb9d59..a7086da 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,6 +27,7 @@ COPY ./static/ /app/static/ COPY ./templates/ /app/templates/ COPY ./app.py /app/ COPY ./cloud_images.json /app/ +COPY ./lxc_profiles.json /app/ COPY ./entrypoint.sh /entrypoint.sh # Create non-root user for security From 1e1efc7e47ab12c2e70d3ee2a83a0c9776e5dbf7 Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 16 Jul 2026 13:42:56 -0500 Subject: [PATCH 2/2] fix: use short SHA for testing image version and truncate overflow The testing build passed the full 40-char commit SHA as BUILD_VERSION, which overflowed the sidebar and overlaid other elements. Now uses -, matching the image tag format, with CSS ellipsis truncation as a backstop. --- .github/workflows/test-build.yml | 8 ++++++-- static/style.css | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 3ed5716..c3851ea 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -212,7 +212,11 @@ jobs: tags: | type=raw,value=testing type=sha,prefix={{branch}}- - + + - name: Set short SHA + id: short-sha + run: echo "value=${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT" + - name: Build and push id: build uses: docker/build-push-action@v5 @@ -222,7 +226,7 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - build-args: BUILD_VERSION=main-${{ github.sha && github.sha || 'dev' }} + build-args: BUILD_VERSION=${{ github.ref_name }}-${{ steps.short-sha.outputs.value }} cache-from: type=gha cache-to: type=gha,mode=max diff --git a/static/style.css b/static/style.css index 7f340ac..81492ce 100644 --- a/static/style.css +++ b/static/style.css @@ -426,7 +426,7 @@ a:hover { color: var(--accent); text-decoration: underline; } .brand-mark img{ width:100%; height:100%; display:block; } .brand-text{ display:flex; flex-direction:column; line-height:1.1; min-width:0; } .brand-name{ font-weight:700; font-size:16px; color:#fff; letter-spacing:-.2px; } -.brand-ver{ font-size:11px; color:#7a8599; font-variant-numeric:tabular-nums; } +.brand-ver{ font-size:11px; color:#7a8599; font-variant-numeric:tabular-nums; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .app-nav-primary{ flex:1 1 auto; min-height:0; overflow-y:auto; padding:14px 12px; display:flex; flex-direction:column; gap:3px; list-style:none; margin:0; } .nav-section-label{ font-size:10.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#5b6579; padding:16px 12px 7px; white-space:nowrap; }