Skip to content

Commit

Permalink
Add github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
kordwarshuis committed Jul 12, 2024
1 parent 834f9b8 commit 7701398
Show file tree
Hide file tree
Showing 3 changed files with 299 additions and 0 deletions.
77 changes: 77 additions & 0 deletions .github/workflows/find-broken-links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Find broken links

on:
schedule:
# 0: At the start of the minute (0th minute)
# 3: At 3 o'clock
# *: Every day of the month
# *: Every month
# 1: On Monday
- cron: '0 3 * * 1' # Every Monday at 3:00 AM
workflow_dispatch:

jobs:
findbrokenlinks:
name: Find broken links
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: Find broken links
env:
GITHUB_ISSUE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: node maintenance/findBrokenLinks.js

# Since this GitHub Action is specifically designed to only handle the /logs/brokenLinks.md file and the runner environment is ephemeral, you can safely use this:
- name: Force push changes for /logs/brokenLinks.md
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add ./logs/brokenLinks.md # Using the full relative path from the root
# Check if there are changes in /logs/brokenLinks.md
git diff --cached --exit-code && exit 0 # Exit if no changes
# Commit and force push only /logs/brokenLinks.md
git commit -m "Update /logs/brokenLinks.md"
git push origin +HEAD:main
##############################



# ##############################
# - 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
# ##############################
107 changes: 107 additions & 0 deletions .github/workflows/import-external-glossaries.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Summary: This GitHub Actions workflow fetches content from various external sources, updates a glossary, and deploys changes to GitHub Pages.

name: Import external glossaries
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 external glossaries
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 external glossaries
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: sh fetchExternalContent/fetchExternalGlossaries/main.sh
##############################



##############################
- 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
# ##############################
115 changes: 115 additions & 0 deletions .github/workflows/import-metadata-google-sheet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# Summary: This GitHub Actions workflow fetches content from various external sources, updates a glossary, and deploys changes to GitHub Pages.

name: Import metadata from Google Sheets
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 metadata from Google Sheets
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 metadata from Google Sheets
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 "Update Google sheet: WOT-terms, tab: Terms-WOT-manage"
node fetchExternalContent/fetchTermsWOTmanage/fetchTermsWOTmanage.mjs
echo "Update Google sheet: WOT-terms, tab: LabelContent (Carbon copies)"
sh fetchExternalContent/fetchAnnotatedCopies/main.sh
echo "Update Google sheet: WOT-terms, tab: GenericScraper"
node fetchExternalContent/fetchSingleUrlsFromWotTermsGoogleSheet/fetchSingleUrlsFromWotTermsGoogleSheet.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
# ##############################

0 comments on commit 7701398

Please sign in to comment.