# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

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

    # 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 one concurrent deployment
concurrency:
    group: 'pages'
    cancel-in-progress: true

jobs:
    # Single deploy job since we're just deploying
    deploy:
        environment:
            name: github-pages
            url: ${{ steps.deployment.outputs.page_url }}
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v3
            - uses: actions/setup-node@v3
              with:
                  node-version: '18.12.1'
                  registry-url: https://registry.npmjs.org/
            - run: npm ci
            - run: node main.js --createConfig -y
            - run: npm run compile
            - run: npm run build --if-present
            - run: npm run doc
            - name: Setup Pages
              uses: actions/configure-pages@v2
            - name: Upload artifact
              uses: actions/upload-pages-artifact@v1
              with:
                  path: 'docs'
            - name: Deploy to GitHub Pages
              id: deployment
              uses: actions/deploy-pages@v1
