From c47a664f1ff88c5638c6ead2746bc62e4af9b061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Z=C3=BCrcher?= Date: Tue, 5 Aug 2025 13:43:22 +0200 Subject: [PATCH] simplify code by adding matrix --- .gitea/workflows/build.yaml | 71 ++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index dc1feab..66489d0 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -1,6 +1,9 @@ name: Build Process Supervisor -on: [push] +on: + push: + tags: + - '*' env: APP_NAME: processSupervisor @@ -9,6 +12,23 @@ jobs: build: runs-on: ubuntu-latest + strategy: + matrix: + include: + - os: windows + arch: amd64 + ext: .exe + - os: linux + arch: amd64 + ext: "" + - os: linux + arch: arm64 + ext: "" + - os: linux + arch: arm + arm_version: 6 + ext: "" + steps: - name: Checkout repo uses: actions/checkout@v4 @@ -18,42 +38,21 @@ jobs: with: go-version: 'stable' - - name: Build for Windows amd64 + - name: Build binaries run: | - GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o bin/${APP_NAME}-windows-amd64.exe + OUTPUT="bin/${{ env.APP_NAME }}-${{ matrix.os }}-${{ matrix.arch }}" + if [ "${{ matrix.arm_version }}" != "" ]; then + OUTPUT="${OUTPUT}v${{ matrix.arm_version }}" + fi + OUTPUT="${OUTPUT}${{ matrix.ext }}" + echo "Building $OUTPUT" + GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} \ + {{ matrix.arm_version && format('GOARM={0}', matrix.arm_version) || '' }} \ + go build -ldflags="-s -w" -trimpath -o "$OUTPUT" + shell: bash - - name: Upload Windows amd64 binary + - name: Upload artifacts uses: actions/upload-artifact@v3 with: - name: ${{env.APP_NAME}}-windows-amd64.exe - path: bin/${{env.APP_NAME}}-windows-amd64.exe - - - name: Build for Linux amd64 - run: | - GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -trimpath -o bin/${APP_NAME}-linux-amd64 - - - name: Upload Linux amd64 - uses: actions/upload-artifact@v3 - with: - name: ${{env.APP_NAME}}-linux-amd64 - path: bin/${{env.APP_NAME}}-linux-amd64 - - - name: Build for Linux arm64 - run: | - GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -trimpath -o bin/${APP_NAME}-linux-arm64 - - - name: Upload Linux arm64 - uses: actions/upload-artifact@v3 - with: - name: ${{env.APP_NAME}}-linux-arm64 - path: bin/${{env.APP_NAME}}-linux-arm64 - - - name: Build for Linux armv6 (Raspberry Pi) - run: | - GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-s -w" -trimpath -o bin/${APP_NAME}-linux-armv6 - - - name: Upload Linux armv6 (Raspberry Pi) - uses: actions/upload-artifact@v3 - with: - name: ${{env.APP_NAME}}-linux-armv6 - path: bin/${{env.APP_NAME}}-linux-armv6 \ No newline at end of file + name: ${{ env.APP_NAME }}-${{ matrix.os }}-${{ matrix.arch }}${{ matrix.arm_version && format('v{0}', matrix.arm_version) || '' }}${{ matrix.ext }} + path: bin/${{ env.APP_NAME }}-${{ matrix.os }}-${{ matrix.arch }}${{ matrix.arm_version && format('v{0}', matrix.arm_version) || '' }}${{ matrix.ext }} \ No newline at end of file