name: Build website
on:
  pull_request:
    branches: [master]
    paths:
      - "website/**"
      - "firebase.json"
      - ".github/workflows/*-website.yml"
  push:
    branches: [master]
    paths:
      - "website/**"
      - "firebase.json"
      - ".github/workflows/*-website.yml"

jobs:
  build:
    name: Build Website
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup node
        uses: actions/setup-node@v4
        with:
          node-version: "18"

      - name: Install dependencies
        run: |
          cd website
          npm ci


      - name: Run prettier
        id: fmt
        continue-on-error: true
        run: |
          cd website
          npm run fmt

      - if: steps.fmt.outcome == 'failure'
        run: |
          cd website
          npm run fmt:write
          git diff
          exit 1


      - name: Check Translations
        run: |
          cd website
          npm run check-translations

      - name: Build
        run: |
          cd website
          npm run build

      - name: Upload build artifact
        uses: actions/upload-artifact@v4
        with:
          name: website
          path: website/build/
          retention-days: 1

      - if: github.event_name == 'pull_request'
        name: Build pr info
        run: |
          echo "${{ github.event.number }}" > .PR_INFO

      - if: github.event_name == 'pull_request'
        name: Upload pr info
        uses: actions/upload-artifact@v4
        with:
          name: pr-info
          include-hidden-files: true
          path: .PR_INFO
          retention-days: 1
