name: "Test"

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

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

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

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

      - name: Install Docker
        run: |
          apt-get update &&
          apt-get -qy full-upgrade &&
          apt-get install -qy curl &&
          apt-get install -qy curl &&
          curl -sSL https://get.docker.com/ | sh

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

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

      - name: Install Nix
        uses: https://github.com/DeterminateSystems/nix-installer-action@v9

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

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