name: Docker Multi-Architecture Build

on:
    push:
        paths-ignore:
            - "**.md"
        branches:
            - master

jobs:
    build-docker-image:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
            - name: Setup pnpm
              uses: pnpm/action-setup@v2
              with:
                  version: latest
            - name: Setup Node.js
              uses: actions/setup-node@v4
              with:
                  cache: "pnpm"
            - run: pnpm install
            - run: pnpm build && ./localizefonts.sh && mv dist/ dist-ci/
            - name: Set up QEMU
              uses: docker/setup-qemu-action@v3
              with:
                  platforms: all
            - name: Set up Docker Buildx
              id: buildx
              uses: docker/setup-buildx-action@v3
              with:
                  version: latest
            - name: Login to DockerHub
              uses: docker/login-action@v3
              with:
                  username: ${{ secrets.DOCKER_USERNAME }}
                  password: ${{ secrets.DOCKER_PASSWORD }}
            - name: Build and push
              uses: docker/build-push-action@v6
              with:
                  context: .
                  file: ./Dockerfile.ci
                  platforms: linux/amd64,linux/arm64
                  push: true
                  tags: 1337kavin/piped-frontend:latest
                  cache-from: type=gha
                  cache-to: type=gha,mode=max