name: containers

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

permissions:
  contents: read
  packages: write

jobs:
  build:
    runs-on: blacksmith-4vcpu-ubuntu-2404
    steps:
      # kilocode_change start
      - name: Set lowercase repository owner
        id: repo
        run: echo "owner_lc=${OWNER,,}" >> $GITHUB_OUTPUT
        env:
          OWNER: ${{ github.repository_owner }}
      # kilocode_change end

      - uses: actions/checkout@v6 # kilocode_change

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

      - name: Set up QEMU
        uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0

      - name: Login to GHCR
        uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
        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:
          # kilocode_change start
          REGISTRY: ghcr.io/${{ steps.repo.outputs.owner_lc }}
          TAG: "24.04"
          # kilocode_change end
