name: Push dev shell to FlakeHub Cache

on:
  push:
    branches: [main]

jobs:
  push-dev-shell-to-flakehub-cache:
    env:
      ACTIONS_STEP_DEBUG: true
    runs-on: ${{ matrix.systems.runner }}
    permissions:
      id-token: "write"
      contents: "read"
    strategy:
      matrix:
        systems:
          - nix-system: "aarch64-darwin"
            runner: "macos-latest-xlarge"
          - nix-system: "x86_64-darwin"
            runner: "macos-12"
          - nix-system: "x86_64-linux"
            runner: "ubuntu-22.04"
    steps:
      - uses: actions/checkout@v4
      - uses: DeterminateSystems/nix-installer-action@main
      - uses: DeterminateSystems/magic-nix-cache-action@main
        with:
          use-flakehub: true
      - name: Build dev shell for ${{ matrix.systems.nix-system }} on ${{ matrix.systems.runner }}
        run: |
          nix build .#devShells.${{ matrix.systems.nix-system }}.default