name: Build libvirtd base container

on:
  push:
    branches:
       - "main"
    paths:
      - "flake.nix"
      - "flake.lock"
      - "nix/containers/libvirtd_base.nix"
      - ".github/workflows/build-libvirt-container.yml"
  workflow_dispatch:

jobs:
  build-container:
    runs-on: ubuntu-22.04
    permissions:
      contents: read
      packages: write
    steps:
      - name: Checkout
        uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0

      - name: Setup bazel
        uses: ./.github/actions/setup_bazel_nix
        with:
          useCache: "false"
          nixTools: |
            crane
            gzip

      - name: Log in to the Container registry
        uses: ./.github/actions/container_registry_login
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Build container
        run: |
          nix build .#libvirtd_base
          gunzip < result > libvirtd_base.tar
          crane push libvirtd_base.tar ghcr.io/edgelesssys/constellation/libvirtd-base
          rm -f libvirtd_base.tar
