name: containers

on:
  push:
    branches:
      - dev
    paths:
      - packages/containers/**
      - .github/workflows/containers.yml
      - package.json
  workflow_dispatch:

permissions:
  contents: read
  packages: write

jobs:
  build:
    runs-on: blacksmith-4vcpu-ubuntu-2404
    env:
      REGISTRY: ghcr.io/${{ github.repository_owner }}
      TAG: "24.04"
    steps:
      - uses: actions/checkout@v4

      - uses: ./.github/actions/setup-bun

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

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

      - name: Build and push containers
        run: bun ./packages/containers/script/build.ts --push
        env:
          REGISTRY: ${{ env.REGISTRY }}
          TAG: ${{ env.TAG }}
