name: Continuous Integration

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  words:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Install Nix
        uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
      - name: Count words
        run: nix develop --command make count
  lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Install Nix
        uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
      - name: Vale
        run: nix develop --command make lint
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Install Nix
        uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
      - name: Build book (PDF + EPUB)
        run: nix build .#book -L
      - name: Validate EPUB
        run: nix develop --command epubcheck result/book.epub
