Import Wiki #1
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: 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 "[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 | |
# ############################## |