Merge pull request #2526 from maphew/fix/docs-purge-stale-refs #23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy Documentation | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'website/**' | |
| - 'scripts/generate-llms-full.sh' | |
| 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 | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: 'npm' | |
| cache-dependency-path: website/package-lock.json | |
| - name: Install dependencies | |
| working-directory: website | |
| run: npm ci | |
| - name: Generate llms-full.txt | |
| run: ./scripts/generate-llms-full.sh | |
| - name: Build website | |
| working-directory: website | |
| run: npm run build | |
| - name: Check internal links | |
| uses: lycheeverse/lychee-action@v2 | |
| with: | |
| args: | | |
| --verbose | |
| --no-progress | |
| --offline | |
| --include-fragments | |
| --timeout 30 | |
| --exclude-path 'website/build/search/**' | |
| website/build | |
| fail: true | |
| - name: Check external links (non-blocking) | |
| uses: lycheeverse/lychee-action@v2 | |
| continue-on-error: true | |
| with: | |
| cache: true | |
| args: | | |
| --verbose | |
| --no-progress | |
| --timeout 30 | |
| --scheme https | |
| --scheme http | |
| --exclude 'localhost' | |
| --exclude '127.0.0.1' | |
| --exclude 'tree/main' | |
| --exclude 'example.com' | |
| --exclude 'mailto:' | |
| --exclude-path 'website/build/search/**' | |
| website/build | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v4 | |
| with: | |
| path: website/build | |
| deploy: | |
| # Guard: deploy should only run in the canonical repository (not in forks) | |
| if: ${{ github.repository == 'steveyegge/beads' }} | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |