From 0ffda1bf2989e898ed2665819b009e03e815356f Mon Sep 17 00:00:00 2001 From: ISSOtm Date: Tue, 15 Sep 2020 14:53:59 +0200 Subject: [PATCH] Add CI Action to update man pages from master --- .github/actions/get-pages.sh | 87 ++++++++++++++++++++++++ .github/workflows/update-master-docs.yml | 51 ++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 .github/actions/get-pages.sh create mode 100644 .github/workflows/update-master-docs.yml diff --git a/.github/actions/get-pages.sh b/.github/actions/get-pages.sh new file mode 100644 index 00000000..0d072e83 --- /dev/null +++ b/.github/actions/get-pages.sh @@ -0,0 +1,87 @@ +#!/bin/bash + +usage() { + cat < +Copy renders from RGBDS repository to rgbds-www documentation +Execute from the root folder of the RGBDS repo, checked out at the desired tag + : Path to the '_documentation' folder in the rgbds-www repository + : Version to be copied, such as 'v0.4.1' or 'master' + + -h Display this help message + -r Update "latest stable" redirection pages (use for releases, not master) +EOF +} + +update_redirects=0 +bad_usage=0 +while getopts ":hr" opt; do + case $opt in + r) + update_redirects=1 + ;; + h) + usage + exit 0 + ;; + \?) + echo "Unknown option '$OPTARG'" + if [ $bad_usage -eq 0 ]; then + usage + bad_usage=1 + fi + ;; + esac +done +if [ $bad_usage -ne 0 ]; then + exit 1 +fi +shift $(($OPTIND - 1)) + + +declare -A PAGES +PAGES=( + [rgbasm.1.html]=src/asm/rgbasm.1 + [rgbasm.5.html]=src/asm/rgbasm.5 + [rgblink.1.html]=src/link/rgblink.1 + [rgblink.5.html]=src/link/rgblink.5 + [rgbfix.1.html]=src/fix/rgbfix.1 + [rgbgfx.1.html]=src/gfx/rgbgfx.1 + [rgbds.5.html]=src/rgbds.5 + [rgbds.7.html]=src/rgbds.7 + [gbz80.7.html]=src/gbz80.7 +) +WWWPATH="/docs" +mkdir -p "$1/$2" + +for page in "${!PAGES[@]}"; do +stem="${page%.html}" +manpage="${stem%.?}(${stem#*.})" +descr="$(awk -v 'FS=.Nd ' '/.Nd/ { print $2; }' "${PAGES[$page]}")" + + cat - >"$1/$2/$page" <> "$1/$2/$page" + if [ $update_redirects -ne 0 ]; then + cat - >"$1/$page" <"$1/$2/index.html" < ~/.ssh/id_ed25519 + chmod 0600 ~/.ssh/id_ed25519 + git config --global user.name "GitHub Action" + git config --global user.email "community@gbdev.io" + git add . + git commit -m "Update RGBDS master documentation" + git push