Skip to content

Complete P1-007: Part 1 Review and Polish #32

Complete P1-007: Part 1 Review and Polish

Complete P1-007: Part 1 Review and Polish #32

Workflow file for this run

name: Deploy GitHub Pages
on:
push:
branches: [main]
paths:
- 'book/**'
- 'assets/**'
- 'diagrams/**'
- 'scripts/generate-toc.sh'
- 'scripts/validate-links.sh'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build-and-deploy:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
# TODO: Fix markdown-link-check ESM dependency issue
# - name: Validate internal links
# run: ./scripts/validate-links.sh
# env:
# CHECK_EXTERNAL: false
- name: Generate table of contents
run: ./scripts/generate-toc.sh
- name: Configure GitHub Pages
uses: actions/configure-pages@v4
- name: Build Jekyll site
uses: actions/jekyll-build-pages@v1
with:
source: ./book
destination: ./_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./_site
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
- name: Comment deployment URL
if: github.event_name == 'push'
run: |
echo "Deployed to: ${{ steps.deployment.outputs.page_url }}"