diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..8f25981 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,52 @@ +name: Build and Deploy Docs + +on: + push: + branches-ignore: + - master + - dev + +jobs: + build-docs: + name: Install JSDoc Dependencies + runs-on: ubuntu-latest + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + + - name: Use NodeJS v16.14.2 + uses: actions/setup-node@v3 + with: + node-version: 16.14.2 + + - name: Install jsdoc and build + run: | + chmod u+x scripts/build-docs.sh + ./scripts/build-docs.sh + + - name: Archive Development Artifact + uses: actions/upload-artifact@v4 + with: + name: out + path: out/ph-municipalities/${{ env.version }} + retention-days: 3 + + deploy-client: + name: Deploy client to Github Pages + needs: lint-client + runs-on: ubuntu-latest + steps: + - name: Download Artifact + uses: actions/download-artifact@v4 + with: + name: out + + - name: List files for publish + run: ls -l -a + + - name: Deploy to Github Pages + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./ + publish_branch: gh-pages diff --git a/scripts/build-docs.sh b/scripts/build-docs.sh new file mode 100644 index 0000000..bd418d9 --- /dev/null +++ b/scripts/build-docs.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +cd app + +# Install jsdoc and theme +npm install --save-dev jsdoc minami taffydb + +# Generate the documentation +npm run generate-docs + +# Find and export the active version no. +filePath="app/package.json" +version=$(grep -oP '"version":\s*"\K[^"]+' "$filePath") + +# Output the version as a GitHub Actions output variable +echo "$version" >> $GITHUB_ENV +echo version: "$version"