.github/workflows/master.yml

Summary

Maintainability
Test Coverage
name: Master

on:
  push:
    branches:
    - master

jobs:
  dist:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3

    - name: Determine Go version from go.mod
      run: echo "GO_VERSION=$(go mod edit -json | jq -r .Go)" >> $GITHUB_ENV

    - uses: actions/setup-go@v3
      with:
        go-version: ${{ env.GO_VERSION }}

    - name: Set up QEMU
      uses: docker/setup-qemu-action@v2
    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v2

    - uses: actions/cache@v3
      with:
        path: ~/go/pkg/mod
        key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
        restore-keys: |
          ${{ runner.os }}-go-

    - name: Build docker images
      run: make docker-build -e IMG_TAG=${GITHUB_REF#refs/heads/}

    - name: Login to quay.io
      uses: docker/login-action@v2
      with:
        registry: quay.io
        username: ${{ secrets.QUAY_IO_USERNAME }}
        password: ${{ secrets.QUAY_IO_PASSWORD }}

    - name: Login to GHCR
      uses: docker/login-action@v2
      with:
        registry: ghcr.io
        username: ${{ github.repository_owner }}
        password: ${{ secrets.GITHUB_TOKEN }}

    - name: Push docker images
      run: make docker-push -e IMG_TAG=${GITHUB_REF#refs/heads/}