name: Test and build on: push: permissions: contents: read jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-go@v6 with: go-version-file: 'go.mod' check-latest: false #- name: golangci-lint # uses: golangci/golangci-lint-action@v9 # with: # go-version: ${{ matrix.go }} # version: v2.6 build_collector: name: Build collector runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - 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 run: go build -o build/hamview-collector ./cmd/hamview-collector && ls -al $(readlink -f build/hamview-collector) - name: Debug env run: env - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log into Container Registry uses: docker/login-action@v3 with: registry: ${{ vars.REGISTRY }} username: ${{ vars.DEPLOY_USER }} password: ${{ secrets.DEPLOY_TOKEN }} - name: Build and push collector container uses: docker/build-push-action@v6 with: push: true tags: hamview/collector:latest file: ./cmd/hamview-collector/Dockerfile context: . platforms: | linux/amd64 build_receiver: name: Build receiver runs-on: ubuntu-latest strategy: matrix: include: - goos: linux goarch: amd64 goarm: "" - goos: linux goarch: arm goarm: "6" - goos: linux goarch: arm goarm: "7" steps: - uses: actions/checkout@v6 - uses: actions/setup-go@v6 with: go-version-file: 'go.mod' check-latest: false - 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 && readlink -f build - name: Build run: go build -o build/hamview-receiver.${{ matrix.goarch }}${{ matrix.goarm }} ./cmd/hamview-receiver && readlink -f build/hamview-receiver.${{ matrix.goarch }}${{ matrix.goarm }} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log into Container Registry uses: docker/login-action@v3 with: registry: ${{ vars.REGISTRY }} username: ${{ vars.DEPLOY_USER }} password: ${{ secrets.DEPLOY_TOKEN }} - name: Build and push receiver container uses: docker/build-push-action@v6 with: push: true tags: hamview/receiver:latest file: ./cmd/hamview-receiver/Dockerfile context: . platforms: | linux/amd64 linux/arm/v6 linux/arm/v7