name: Build and deploy

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: docker

    container:
      image: ghcr.io/catthehacker/ubuntu:runner-latest

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

      - name: Set up Nix
        uses: https://guardianproject.dev/actions/install-nix-action@v31

      - name: Install npm dependencies
        run: nix develop --command npm install

      - name: Generate OpenAPI section
        run: nix develop --command npm run docusaurus gen-api-docs api

      - name: Run build
        run: nix develop --command npm run build

      - name: Deploy
        run: nix develop --command netlify deploy --auth ${{ secrets.NETLIFY_AUTH_TOKEN }} -s ${{ vars.NETLIFY_SITE_ID }}
