From 0bf5f8b10bf7fb768c3f9d0dff95a7afcfde8ec3 Mon Sep 17 00:00:00 2001 From: maze Date: Mon, 23 Feb 2026 12:19:56 +0100 Subject: [PATCH] Multiarch --- .gitea/workflows/dev.yaml | 31 +++++++++++++++++++++++++++---- cmd/hamview-collector/Dockerfile | 2 +- cmd/hamview-receiver/Dockerfile | 4 +++- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/dev.yaml b/.gitea/workflows/dev.yaml index c8dbb95..4abc907 100644 --- a/.gitea/workflows/dev.yaml +++ b/.gitea/workflows/dev.yaml @@ -28,6 +28,16 @@ jobs: strategy: matrix: go: [stable] + include: + - goos: linux + goarch: amd64 + goarm: "" + - goos: linux + goarch: arm + goarm: "6" + - goos: linux + goarch: arm + goarm: "7" steps: - name: Checkout code uses: actions/checkout@v6 @@ -35,14 +45,21 @@ jobs: uses: actions/setup-go@v6 with: go-version: ${{ matrix.go }} + - name: Set target variables + run: | + echo "GOOS=${{ matrix.goos }}" >> $GITHUB_ENV + echo "GOARCH=${{ matrix.goarch }}" >> $GITHUB_ENV + if [ -n "${{ matrix.goarm }}" ]; then + echo "GOARM=${{ matrix.goarm }}" >> $GITHUB_ENV + fi - name: Download modules run: go mod download - name: Make build directory run: mkdir -p build - - name: Build hamview-collector - run: go build -o build/ -v ./cmd/hamview-collector - - name: Build hamview-receiver - run: go build -o build/ -v ./cmd/hamview-receiver + - name: Build hamview-collector (${{ matrix.goos}} ${{ matrix.goarch }}${{ matrix.goarm }}) + run: go build -o build/hamview-collector.${{ matrix.goarch }}${{ matrix.goarm }} -v ./cmd/hamview-collector + - name: Build hamview-receiver (${{ matrix.goos}} ${{ matrix.goarch }}${{ matrix.goarm }}) + run: go build -o build/hamview-receiver.${{ matrix.goarch }}${{ matrix.goarm }} -v ./cmd/hamview-receiver - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Show env @@ -59,9 +76,15 @@ jobs: push: true tags: hamview/collector:latest context: cmd/hamview-collector + platforms: | + linux/amd64 - name: Build and push receiver container uses: docker/build-push-action@v6 with: push: true tags: hamview/receiver:latest context: cmd/hamview-receiver + platforms: | + linux/amd64 + linux/arm/v6 + linux/arm/v7 diff --git a/cmd/hamview-collector/Dockerfile b/cmd/hamview-collector/Dockerfile index 7991a0b..ce9c8f2 100644 --- a/cmd/hamview-collector/Dockerfile +++ b/cmd/hamview-collector/Dockerfile @@ -1,6 +1,6 @@ FROM alpine:3 WORKDIR /opt/hamview COPY ../../etc /etc/hamview -COPY ../../build/hamview-collector /opt/hamview/bin/hamview-collector +COPY ../../build/hamview-collector-amd64 /opt/hamview/bin/hamview-collector ENTRYPOINT ["bin/hamview-collector"] CMD [ "executable" ] diff --git a/cmd/hamview-receiver/Dockerfile b/cmd/hamview-receiver/Dockerfile index 471f973..606599f 100644 --- a/cmd/hamview-receiver/Dockerfile +++ b/cmd/hamview-receiver/Dockerfile @@ -1,6 +1,8 @@ FROM alpine:3 +ARG TARGETARCH +ARG TARGETVARIANT WORKDIR /opt/hamview COPY ../../etc /etc/hamview -COPY ../../build/hamview-receiver /opt/hamview/bin/hamview-receiver +COPY ../../build/hamview-receiver-${$TARGETARCH}${TARGETVARIANT#v} /opt/hamview/bin/hamview-receiver ENTRYPOINT ["bin/hamview-receiver"] CMD [ "protocol" ]