name: Build and Release Resume PDF

on:
    push:
        branches:
            - main
        paths:
            - 'main.tex'
            - '.github/workflows/build-resume.yaml'
    workflow_dispatch:

jobs:
    date-fetch: 
        runs-on: ubuntu-latest
        outputs:
            current-date: ${{ steps.get-date.outputs.current-date }}
        steps:
            - name: Get current date
              id: get-date
              run: echo "current-date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT

    build:
        needs: date-fetch
        runs-on: ubuntu-latest
        permissions:
            contents: write

        steps:
          - name: Checkout repository
            uses: actions/checkout@v4
          - name: Install nix
            uses: https://github.com/DeterminateSystems/nix-installer-action@main

          - name: Build PDF
            run: nix build .#default

          - name: Upload PDF artifact
            uses: actions/upload-artifact@v3
            with:
              name: resume-pdf
              path: result/Alice_Huston_Resume_Software_Engineer.pdf

          - name: Create Release
            if: success()
            uses: softprops/action-gh-release@v1
            with:
              files: result/Alice_Huston_Resume_Software_Engineer.pdf
              tag_name: alice-huston-resume-${{ needs.date-fetch.outputs.current-date }}-${{ github.sha }}
              body: "Resume PDF built from commit ${{ github.sha }}"
            env:
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}