name: musl-build-image

on:
  push:
    branches: master
    paths:
      - .github/actions/muslbuilder/Dockerfile
      - .github/actions/muslbuilder/entrypoint.sh
      - .github/workflows/musl-build-image.yml

concurrency:
  group: musl-build-image
  cancel-in-progress: true

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      CONTAINER_TAG: tstack/lnav-build:latest
    steps:
      -
        name: checkout code
        uses: actions/checkout@v3
      -
        name: Set up QEMU
        uses: docker/setup-qemu-action@v2
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
      -
        name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      -
        name: Build and push
        uses: docker/build-push-action@v4
        with:
          context: ${{ github.workspace }}/.github/actions/muslbuilder/
          platforms: linux/amd64, linux/arm/v7, linux/arm64
          push: true
          tags: ${{ env.CONTAINER_TAG }}
          cache-from: type=registry,ref=${{ env.CONTAINER_TAG }}-buildcache
          cache-to: type=registry,ref=${{ env.CONTAINER_TAG }}-buildcache,mode=max
