name: "Test"

on:
  push:
    branches: ["main"]
  workflow_call:
  workflow_dispatch:

jobs:
  test-cache:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]

    runs-on: ${{ matrix.os }}

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

      - uses: pnpm/action-setup@v2
      - uses: actions/setup-node@v3
        with:
          cache: pnpm
          cache-dependency-path: pnpm-lock.yaml

      - name: Build
        run: pnpm install && pnpm build

      - name: Install Nix
        uses: cachix/install-nix-action@v22

      - name: Setup Attic Cache
        uses: ./
        with:
          endpoint: ${{ secrets.ATTIC_ENDPOINT }}
          cache: ${{ secrets.ATTIC_CACHE }}
          token: ${{ secrets.ATTIC_TOKEN }}

      - name: Build Nix Package
        run: nix build -f test.nix