name: Deploy Blog to Netlify

on:
  push:
    branches:
      - main
    paths:
      - "opensaas-sh/blog/**"
  pull_request:
    branches:
      - main
    paths:
      - "opensaas-sh/blog/**"

jobs:
  build:
    runs-on: ubuntu-latest
    if: github.event_name == 'pull_request'
    steps:
      - name: Checkout code
        uses: actions/checkout@v6

      - name: Setup Node.js
        uses: actions/setup-node@v6
        with:
          node-version-file: .nvmrc

      - name: Install dependencies
        working-directory: ./opensaas-sh/blog
        run: npm ci

      - name: Build site
        working-directory: ./opensaas-sh/blog
        run: npm run build

  deploy:
    runs-on: ubuntu-latest
    if: github.event_name == 'push' && github.ref == 'refs/heads/main'
    steps:
      - name: Checkout code
        uses: actions/checkout@v6

      - name: Setup Node.js
        uses: actions/setup-node@v6
        with:
          node-version-file: .nvmrc

      - name: Install dependencies
        working-directory: ./opensaas-sh/blog
        run: npm ci

      - name: Build site
        working-directory: ./opensaas-sh/blog
        run: npm run build

      - name: Deploy to Netlify
        uses: nwtgck/actions-netlify@v3
        with:
          publish-dir: "./opensaas-sh/blog/dist"
          production-branch: main
          github-token: ${{ secrets.GITHUB_TOKEN }}
          deploy-message: "Deploy from GitHub Actions"
        env:
          NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
          NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
        timeout-minutes: 1
