Skip to content

Build and Deploy Pages #4260

Build and Deploy Pages

Build and Deploy Pages #4260

Workflow file for this run

name: Build and Deploy Pages
on:
workflow_run:
workflows: ["Update lists"]
types:
- completed
jobs:
build-and-deploy:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
fetch-depth: 1
- name: Checkout lists branch
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: lists
path: lists
fetch-depth: 1
- name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: "24"
cache: "npm"
cache-dependency-path: site/package-lock.json
- name: Install dependencies
run: npm ci
working-directory: ./site
- name: Build site
run: |
# Set the dynamic database filename, which will be created inside the `site` directory.
export DB_FILENAME="rules-${{ github.run_id }}-${{ github.run_attempt }}.db.pgp" # the file is not actually encrypted, this prevents GitHub Pages from compressing it
python3 create_db.py ../lists/lists "$DB_FILENAME"
npm run build
working-directory: ./site
- name: Upload artifact
uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4.0.0
with:
path: site/dist/
- name: Deploy to GitHub Pages
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5