# Simple workflow for deploying static content to GitHub Pages
name: CD | Gihub page | PWA Microservices Template

on:
  # Runs on pushes targeting the default branch
  push:
    branches: ['main']

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
  group: 'pages'
  cancel-in-progress: false

jobs:
  # Single deploy job since we're just deploying
  deploy:
    if: github.repository == 'underpostnet/pwa-microservices-template-ghpkg'
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    container:
      image: quay.io/rockylinux/rockylinux:9
    steps:
      - name: Checkout
        uses: actions/checkout@v6
        # with:
        #   lfs: true
      # - name: Checkout LFS objects
      #   run: git lfs checkout

      - name: Install required packages
        run: |
          dnf install -y sudo tar gzip bzip2 git
          dnf install -y curl --allowerasing

      - name: Install Node.js
        run: |
          curl -fsSL https://rpm.nodesource.com/setup_24.x | bash -
          dnf install nodejs -y

      - name: Build the site
        run: |
          npm install
          node bin new --default-conf --conf-workflow-id dd-github-pages
          node bin new --deploy-id dd-github-pages
          node bin env dd-github-pages production
          NODE_ENV=production node bin client dd-github-pages '' underpostnet.github.io /pwa-microservices-template-ghpkg
      # git lfs install
      # git lfs track
      # git lfs ls-files
      # git lfs pull
      - name: Setup Pages
        uses: actions/configure-pages@v6
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v5
        with:
          # Upload entire repository
          path: './public/underpostnet.github.io/pwa-microservices-template-ghpkg/'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v5
