Skip to content

A - Import Wiki

A - Import Wiki #6

Workflow file for this run

# Summary: This GitHub Actions workflow fetches content from various external sources, updates a glossary, and deploys changes to GitHub Pages.
name: Import Wiki
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: Import Wiki
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: Import Wiki
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 "Clone the wiki"
# Step 1: Checkout wiki
git clone https://github.com/WebOfTrust/WOT-terms.wiki.git temp-wiki
# remove the .git folder
rm -rf temp-wiki/.git
rm -rf temp-wiki/.gitignore
# Create a file in temp-wiki/ called ”_category_.json”
echo "{
\"label\": \"${GLOSSARY_OVERVIEW_JSON_LABEL}\",
\"link\": {
\"type\": \"generated-index\",
\"description\": \"${GLOSSARY_OVERVIEW_JSON_DESCRIPTION}.\"
}
}" > temp-wiki/_category_.json
# Step 2: Copy Wiki To Docusaurus Glossary directory
# Create the directory if it doesn't exist
mkdir -p docs/${GLOSSARY_DIR}
# Copy all new and updated files from temp-wiki/ to docs/04_glossary/
# Delete any files in docs/04_glossary/ that do not exist in temp-wiki/
rsync -a --delete --exclude='.gitignore' temp-wiki/ docs/${GLOSSARY_DIR}
# Step 3: Cleanup
# The /temp-wiki directory is not needed anymore
rm -rf temp-wiki/
# Step 4: Fixes
echo "Fix dashes in filenames coming from Wiki"
node maintenance/fixDashInWikiCopyFilenames.js
##############################
- name: Commit and push the changes after fetching content from various external sources
run: |
echo "Initial status:"
git status
git config --local user.email "action@github.com"
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
# ##############################