Skip to content

21st November 2024 #1929

21st November 2024

21st November 2024 #1929

Workflow file for this run

name: Update FCP Cafe Website & Publish to GitHub Pages
on:
workflow_dispatch:
push:
branches:
- main
tags:
- '*'
pull_request:
types: [closed]
issues:
types: [opened, closed, labeled, unlabeled]
release:
types: [created]
jobs:
generate_markdown_and_rss:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Set up Node.js
uses: actions/[email protected]
with:
node-version: 20
- name: Install dependencies
run: npm install axios rss markdown-it feedparser-promised deep-equal glob cheerio
- name: Generate Bug Tracker Markdown
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO_NAME: ${{ github.repository }}
run: node .github/scripts/generate-bug-tracker.js
- name: Generate Wish List Markdown
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO_NAME: ${{ github.repository }}
run: node .github/scripts/generate-wishlist.js
- name: Generate FAQ Markdown
env:
PAGE_NAME: "faq"
run: node .github/scripts/generate-faq.js
- name: Generate Developer FAQ Markdown
env:
PAGE_NAME: "developer-faq"
run: node .github/scripts/generate-faq.js
- name: Generate Latest News Markdown
run: node .github/scripts/generate-latest-news.js
- name: Generate All News Markdown
run: node .github/scripts/generate-all-news.js
- name: Generate Workflow Extensions Markdown
env:
PAGE_NAME: "workflow-extensions"
run: node .github/scripts/generate-markdown.js
- name: Generate Tools Markdown
env:
PAGE_NAME: "tools"
run: node .github/scripts/generate-markdown.js
- name: Generate Plugins Markdown
env:
PAGE_NAME: "plugins"
run: node .github/scripts/generate-markdown.js
- name: Generate Motion Templates Markdown
env:
PAGE_NAME: "motion-templates"
run: node .github/scripts/generate-markdown.js
- name: Generate Camera Formats Markdown
env:
PAGE_NAME: "camera-formats"
run: node .github/scripts/generate-markdown.js
- name: Generate Asset Management Markdown
env:
PAGE_NAME: "asset-management"
run: node .github/scripts/generate-markdown.js
- name: Generate Developer Tools & Frameworks Markdown
env:
PAGE_NAME: "developer-tools-and-frameworks"
run: node .github/scripts/generate-markdown.js
- name: Generate RSS Feed
env:
SITE_TITLE: "FCP Cafe"
SITE_URL: "https://fcp.cafe"
run: node .github/scripts/generate-rss.js
- name: Commit and push if it's necessary
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
# Pull the latest changes from the remote
git fetch origin
git pull origin main
echo "Checking for changes to commit..."
git status
echo "Adding changes..."
git add -A docs/news/* docs/_includes/* docs/rss.xml
git status
echo "Committing changes..."
git commit -m "Update Generated Markdown Files" || echo "No changes to commit"
git status
echo "Pushing changes..."
git push
echo "Completed commit step."
- name: Archive production artifacts
uses: actions/[email protected]
with:
name: docs
path: docs/
publish:
name: Publish to retype branch
needs: [generate_markdown_and_rss]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download updated docs
uses: actions/[email protected]
with:
name: docs
path: docs/
- name: Checkout code
uses: actions/[email protected]
- uses: actions/setup-dotnet@v1
with:
dotnet-version: 7.0.x
- name: Build and publish using Retype
uses: retypeapp/action-build@latest
with:
license: ${{ secrets.RETYPE_SECRET }}
- name: Push to retype branch
uses: retypeapp/action-github-pages@latest
with:
update-branch: true
- name: Purge CloudFlare cache
run: |
curl -X POST "https://api.cloudflare.com/client/v4/zones/${{ secrets.CLOUDFLARE_ZONE_ID }}/purge_cache" \
-H "Authorization: Bearer ${{ secrets.CLOUDFLARE_API_TOKEN }}" \
-H "Content-Type: application/json" \
--data '{"purge_everything":true}'