Skip to content

Build and Deploy Pages #11136

Build and Deploy Pages

Build and Deploy Pages #11136

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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 1
- name: Checkout lists branch
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: lists
path: lists
fetch-depth: 1
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.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@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
with:
path: site/dist/
- name: Deploy to GitHub Pages
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0