Skip to content

D - Deploy to GitHub Pages #3

D - Deploy to GitHub Pages

D - Deploy to GitHub Pages #3

# Summary: This GitHub Actions workflow fetches content from various external sources, updates a glossary, and deploys changes to GitHub Pages.
name: D - 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
## D: Triggered by a workflow call:
workflow_call:
secrets:
TERMS_WOT_MANAGE_JSON_ENDPOINT:
required: true
GENERIC_SCRAPER_JSON_ENDPOINT:
required: true
ANNOTATED_COPIES_JSON_ENDPOINT:
required: true
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: Pull
run: |
git pull
echo $RANDOM > deploy-to-gh-pages.txt
##############################
##############################
- 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
##############################