Files
hamview-receiver/.gitea/workflows/build.yaml
maze 35101caacb
All checks were successful
Test and build / Test & lint (push) Successful in 1m8s
Test and build / Build (push) Successful in 1m34s
Use add-hosts
2026-02-23 17:04:34 +01:00

90 lines
2.6 KiB
YAML

name: Test and build
on:
push:
permissions:
contents: read
jobs:
test:
name: Test & lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'
check-latest: false
- name: Test
run: go test -v ./...
- name: Lint
uses: golangci/golangci-lint-action@v9
with:
go-version: ${{ matrix.go }}
version: v2.6
if: ${{ github.actor != 'maze' }}
build:
name: Build
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Go
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'
check-latest: false
- name: Download modules
run: go mod download
- name: Make build directory
run: mkdir -p build && readlink -f build
- name: Build amd64
env:
GOOS: linux
GOARCH: amd64
run: |
GOOS=$GOOS GOARCH=$GOARCH go build -o build/hamview-receiver-$GOARCH . && readlink -f build/hamview-receiver-$GOARCH
- name: Build arm6
env:
GOOS: linux
GOARCH: arm
GOARM: 6
run: |
GOOS=$GOOS GOARCH=$GOARCH GOARM=$GOARM go build -o build/hamview-receiver-$GOARCH$GOARM . && readlink -f build/hamview-receiver-$GOARCH$GOARM
- name: Build arm7
env:
GOOS: linux
GOARCH: arm
GOARM: 7
run: |
GOOS=$GOOS GOARCH=$GOARCH GOARM=$GOARM go build -o build/hamview-receiver-$GOARCH$GOARM . && readlink -f build/hamview-receiver-$GOARCH$GOARM
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log into Docker Container Registry
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKER_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Log into Gitea Container Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.REGISTRY }}
username: ${{ vars.DEPLOY_USER }}
password: ${{ secrets.DEPLOY_TOKEN }}
add-hosts: ${{ vars.ADD_HOSTS }}
- name: Build and push receiver container
uses: docker/build-push-action@v6
with:
push: true
tags: ${{ vars.REGISTRY }}/ham/hamview-receiver:latest
context: .
add-hosts: ${{ vars.ADD_HOSTS }}
platforms: |
linux/amd64
linux/arm/v6
linux/arm/v7