name: Build Docker Images

on:
  push:
    branches:
      - 'main'
    paths:
      - 'docker/base.Dockerfile'
      - 'docker/dev.Dockerfile'

  workflow_dispatch:

jobs:
  publish:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write

    steps:
    - 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 GitHub Container Registry
      uses: docker/login-action@v3
      with:
        registry: ghcr.io
        username: ${{ github.actor }}
        password: ${{ secrets.GITHUB_TOKEN }}

    - name: Base image - Docker Build & Push
      uses: docker/build-push-action@v6
      with:
        context: .
        file: docker/base.Dockerfile
        platforms: linux/amd64,linux/arm64
        push: true
        tags: ghcr.io/ietf-tools/xml2rfc-base:latest

    - name: Dev image - Docker Build & Push
      uses: docker/build-push-action@v6
      with:
        context: .
        file: docker/dev.Dockerfile
        platforms: linux/amd64,linux/arm64
        push: true
        tags: ghcr.io/ietf-tools/xml2rfc-dev:latest
