name: Build and publish docker container

on:
  workflow_dispatch:

jobs:
  publish:
    name: Publish container image
   ## runs-on: ubuntu-latest
    runs-on: self-hosted

    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Cache install Nix packages
        uses: mtoohey31/cache-flake-attrs@v2
        with:
          key: ${{ runner.os }}-nix-${{ hashFiles('./flake.lock', './flake.nix', './yarn.lock') }}
          flake_paths: .#packages.x86_64-linux.docker.copyTo

      - name: Build and push
        run: |
          nix --extra-experimental-features nix-command --extra-experimental-features flakes run .#docker.copyTo -vL -- --dest-creds=${{ github.repository_owner }}:${{ secrets.PACKAGES_TOKEN }} docker://ghcr.io/${GITHUB_REPOSITORY,,}:${{ github.sha }}
          nix --extra-experimental-features nix-command --extra-experimental-features flakes run .#docker.copyTo -vL -- --dest-creds=${{ github.repository_owner }}:${{ secrets.PACKAGES_TOKEN }} docker://ghcr.io/${GITHUB_REPOSITORY,,}:${{ github.ref_name }}
