From fa3d082f2f7bed11cb8ced8e152096990fae20d7 Mon Sep 17 00:00:00 2001 From: jbergner Date: Wed, 6 Aug 2025 05:11:12 +0200 Subject: [PATCH] =?UTF-8?q?Static=20Verzeichnis=20in=20Build-Parameter=20h?= =?UTF-8?q?inzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/release.yml | 49 ++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 8cac988..4233684 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -1,15 +1,18 @@ -# Git(tea) Actions workflow: Build and publish standalone binaries +# Git(tea) Actions workflow: Build and publish standalone binaries **plus** bundled `static/` assets # ──────────────────────────────────────────────────────────────────── -# ✧ Builds the Go‑based WoL server for four targets +# ✧ Builds the Go‑based WoL server for four targets **and** packt das Verzeichnis +# `static` zusammen mit der Binary, sodass es relativ zur ausführbaren Datei +# liegt (wichtig für die eingebauten Bootstrap‑Assets & favicon). +# # • linux/amd64 → wol-server-linux-amd64.tar.gz -# • linux/arm64 → wol-server-linux-arm64.tar.gz (Raspberry Pi 4/5, 64‑bit OS) -# • linux/arm/v7 → wol-server-linux-armv7.tar.gz (Raspberry Pi 2/3, 32‑bit OS) +# • linux/arm64 → wol-server-linux-arm64.tar.gz +# • linux/arm/v7 → wol-server-linux-armv7.tar.gz # • windows/amd64 → wol-server-windows-amd64.zip -# ✧ Uploads artifacts to the workflow and, on tag push (vX.Y.Z), -# attaches them to a GitHub/Gitea release. +# +# ✧ Artefakte landen im Workflow und – bei Tag‑Push (vX.Y.Z) – als Release‑Assets. # # Secrets/variables: -# GITEA_TOKEN – optional, only needed if default token lacks release perms. +# GITEA_TOKEN – optional, falls default token keine Release‑Rechte hat. # ──────────────────────────────────────────────────────────────────── name: build-binaries @@ -29,10 +32,10 @@ jobs: - goos: linux goarch: amd64 ext: "" - - goos: linux # Raspberry Pi (64‑bit) + - goos: linux goarch: arm64 ext: "" - - goos: linux # Raspberry Pi (32‑bit, armv7) + - goos: linux goarch: arm goarm: "7" ext: "" @@ -58,37 +61,41 @@ jobs: shell: bash run: | set -e - mkdir -p dist + mkdir -p dist/package if [ -n "${{ matrix.goarm }}" ]; then export GOARM=${{ matrix.goarm }}; fi CGO_ENABLED=0 GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} go build -trimpath -ldflags "-s -w" \ - -o "dist/${BINARY_NAME}-${{ matrix.goos }}-${{ matrix.goarch }}${{ matrix.goarm && format('v{0}', matrix.goarm) || '' }}${{ matrix.ext }}" . + -o "dist/package/${BINARY_NAME}${{ matrix.ext }}" . + # Assets: statisches Verzeichnis beilegen + cp -r static dist/package/ - - name: Package archive + - name: Package archive with static assets shell: bash run: | set -e cd dist if [ "${{ matrix.goos }}" == "windows" ]; then ZIP_NAME="${BINARY_NAME}-windows-amd64.zip" - zip "$ZIP_NAME" "${BINARY_NAME}-windows-amd64.exe" - rm "${BINARY_NAME}-windows-amd64.exe" + (cd package && zip -r "../$ZIP_NAME" .) else ARCH_SUFFIX="${{ matrix.goarch }}" if [ "${{ matrix.goarch }}" == "arm" ]; then ARCH_SUFFIX="armv${{ matrix.goarm }}"; fi TAR_NAME="${BINARY_NAME}-${{ matrix.goos }}-${ARCH_SUFFIX}.tar.gz" - tar -czf "$TAR_NAME" "${BINARY_NAME}-${{ matrix.goos }}-${ARCH_SUFFIX}" - rm "${BINARY_NAME}-${{ matrix.goos }}-${ARCH_SUFFIX}" + tar -czf "$TAR_NAME" -C package . fi - name: Upload workflow artifact uses: actions/upload-artifact@v3 with: name: ${{ matrix.goos }}-${{ matrix.goarch }}${{ matrix.goarm && format('v{0}', matrix.goarm) || '' }} - path: | - dist/*.zip - dist/*.tar.gz + path: dist/*.tar.gz + if-no-files-found: ignore + - uses: actions/upload-artifact@v3 + with: + name: windows-amd64 + path: dist/*.zip + if-no-files-found: ignore - # Optional release step for tag pushes + # Release Schritt für Tag‑Pushes release: if: startsWith(github.ref, 'refs/tags/') needs: build @@ -97,7 +104,7 @@ jobs: contents: write steps: - - name: Download build artifacts + - name: Download artifacts uses: actions/download-artifact@v3 with: path: ./dist