name: Build/Test/Push on: push: branches: - v3 - devel - main tags: - 'v*.*.*' jobs: test-mothd: name: Test mothd runs-on: ubuntu-latest steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: 1.13 - name: Retrieve code uses: actions/checkout@v2 - name: Test run: go test ./... publish: name: Publish container images runs-on: ubuntu-latest steps: - name: Retrieve code uses: actions/checkout@v2 - name: Gitlab variables id: vars run: build/ci/gitlab-vars - name: Login to GitHub Packages Docker Registry uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.CR_PAT }} - name: Login to DockerHub uses: docker/login-action@v1 with: username: neale password: ${{ secrets.DOCKER_TOKEN }} # Currently required, because buildx doesn't support auto-push from docker - name: Set up builder uses: docker/setup-buildx-action@v1 id: buildx - name: Build and push moth image uses: docker/build-push-action@v2 with: builder: ${{ steps.buildx.outputs.name }} target: moth file: build/package/Containerfile push: true platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x tags: | dirtbags/moth:${{ steps.vars.outputs.tag }} ghcr.io/dirtbags/moth:${{ steps.vars.outputs.tag }}