D - Deploy to GitHub Pages #66
This file contains 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
# Summary: This GitHub Actions workflow fetches content from various external sources, updates a glossary, and deploys changes to GitHub Pages. | |
name: Deploy to GitHub Pages | |
on: | |
# A: Triggered on push to the main branch: | |
# push: | |
# branches: | |
# - main | |
# B: Triggered on manual workflow dispatch: | |
workflow_dispatch: | |
## C: Triggered on Wiki changes: | |
# gollum | |
jobs: | |
############################## | |
############################## | |
deploy: | |
name: Fix stuff, Commit and push the changes, Build website, Deploy to GitHub Pages | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 19 | |
cache: npm | |
- name: Install dependencies | |
run: npm ci | |
############################## | |
- name: Fix stuff | |
env: | |
TERMS_WOT_MANAGE_MARKDOWN: ./docs/02_overview/overview-and-context.mdx | |
TERMS_WOT_MANAGE_JSON_DIR_NAME: ./static/json/ | |
TERMS_WOT_MANAGE_JSON_FILE_NAME: overview.json | |
TERMS_WOT_MANAGE_JSON_ENDPOINT: ${{ secrets.TERMS_WOT_MANAGE_JSON_ENDPOINT }} | |
ANNOTATED_COPIES_OUTPUT_DIR: ./docs/08_annotated-copies/ | |
ANNOTATED_COPIES_INPUT_DIR: ./static/json/externalContentMetaData.json | |
SEARCH_INDEX_DIR: search-index-typesense | |
GENERIC_SCRAPER_JSON_ENDPOINT: ${{ secrets.GENERIC_SCRAPER_JSON_ENDPOINT }} | |
ANNOTATED_COPIES_JSON_ENDPOINT: ${{ secrets.ANNOTATED_COPIES_JSON_ENDPOINT }} | |
GLOSSARY_OVERVIEW_JSON_LABEL: Glossary | |
GLOSSARY_OVERVIEW_JSON_DESCRIPTION: Web of Trust Glossary | |
GLOSSARY_DIR: 04_glossary | |
GENERATED_JSON_GLOSSARIES_DIR: ./static/json/external-glosseries/glossaries/ | |
GENERATED_JSON_DICTIONARY_DIR: static/json/external-glosseries/glossaries-combined | |
run: | | |
echo "Fix svg's created by OmniGraffle" | |
node maintenance/fixOmnigraffleSvgOutput.js | |
############################## | |
############################## | |
- name: Commit and push the changes | |
run: | | |
echo "Initial status:" | |
git status | |
git config --local user.email "[email protected]" | |
git config --local user.name "GitHub Action" | |
git add -A | |
echo "Status after git add:" | |
git status | |
git diff --cached --exit-code && exit 0 # Exit if no changes in the staging area | |
echo "Committing changes:" | |
git commit -m "chore: fetch content from various external sources" | |
echo "Pushing changes:" | |
git push | |
echo "Final status:" | |
git status | |
############################## | |
############################## | |
- name: Build website | |
run: npm run build | |
############################## | |
############################## | |
# Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus | |
- name: Deploy to GitHub Pages | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
# https://github.com/WebOfTrust/WOT-terms/settings/secrets/actions, section “Repository secrets”, entry: “ACCESS_TOKEN” | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
# Build output to publish to the `gh-pages` branch: | |
publish_dir: ./build | |
# The following lines assign commit authorship to the official | |
# GH-Actions bot for deploys to `gh-pages` branch: | |
# https://github.com/actions/checkout/issues/13#issuecomment-724415212 | |
# The GH actions bot is used by default if you didn't specify the two fields. | |
# You can swap them out with your own user credentials. | |
user_name: github-actions[bot] | |
user_email: 41898282+github-actions[bot]@users.noreply.github.com | |
############################## |