name: Build web

on:
    push:
        branches:
            - main
        paths-ignore:
            - "**/*.md"
            - "./fastline/**"
            - "./materialious/src/lib/i18n/**"

jobs:
    web-build:
        runs-on: ubuntu-latest

        steps:
            - name: Checkout
              uses: actions/checkout@v4
            - name: Set up QEMU
              uses: docker/setup-qemu-action@v3
            - name: Set up Docker Buildx
              uses: docker/setup-buildx-action@v3
            - name: Login to DockerHub
              uses: docker/login-action@v3
              with:
                  username: ${{ secrets.DOCKERHUB_USERNAME }}
                  password: ${{ secrets.DOCKERHUB_TOKEN }}
            - name: Extract version from package.json
              id: extract_version
              run: |
                  VERSION=$(jq -r .version ./materialious/package.json)
                  echo "version=$VERSION" >> "$GITHUB_OUTPUT"
            - name: Build and push
              uses: docker/build-push-action@v6
              with:
                  context: ./materialious
                  platforms: linux/amd64,linux/arm64
                  push: true
                  tags: |
                      wardpearce/materialious:latest
                      wardpearce/materialious:${{ steps.extract_version.outputs.version }}
