Skip to content

Deploy [Docs]

Deploy [Docs] #9

Workflow file for this run

name: Deploy [Docs]
on:
workflow_dispatch:
env:
FORCE_COLOR: 2
NODE: 22
permissions:
contents: write
jobs:
docs:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '${{ env.NODE }}'
cache: npm
- run: java -version
- name: Install npm dependencies
run: npm ci
- name: Build docs
run: npm run docs-build
- name: Validate HTML
run: npm run docs-vnu
- name: Run linkinator
uses: JustinBeckwith/linkinator-action@3d5ba091319fa7b0ac14703761eebb7d100e6f6d # v1.11.0
with:
paths: _site
recurse: true
verbosity: error
skip: '^http://localhost'
- name: Upload GitHub Pages artifact
uses: actions/upload-pages-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: github.ref == 'refs/heads/main'
with:
path: ./_site
deploy:
runs-on: ubuntu-latest
needs: docs
if: github.ref == 'refs/heads/main'
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5