Skip to content

First pass of how to save config as xml #674

First pass of how to save config as xml

First pass of how to save config as xml #674

Workflow file for this run

name: "Pull Request Docs Check"
on:
- pull_request
jobs:
build-pdf:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Refresh Packages
run: sudo apt-fast -y update
- name: Install Dependencies
run: xargs -a dependencies sudo apt-fast install -y
- name: Python Setup
uses: actions/setup-python@v4
with:
python-version: 3.9
cache: 'pip'
- name: Python Install Dependencies
run: pip install -r docs/requirements.txt
- name: Build PDF
env:
SPHINXOPTS: "-D html_context.commit=${{ github.sha }} -D version=latest -A display_github=true -A github_user=${{ github.repository_owner }} -A github_repo=${{ github.event.repository.name }} -A github_version=${{ github.ref_name }} -A conf_py_path=/docs/source/"
run: make -C docs/ latexpdf
- name: Archive PDF
env:
PR_NUMBER: ${{ github.event.number }}
ID: ${{ github.run_attempt }}
uses: actions/upload-artifact@v3
with:
name: FTCDOCS-PDF
path: |
docs/build/latex/*.pdf
FTCDOCS-PR-${{ env.PR_NUMBER }}-${{ env.ID }}
if-no-files-found: error
build-html:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Refresh Packages
run: sudo apt-fast -y update
- name: Python Setup
uses: actions/setup-python@v4
with:
python-version: 3.9
cache: 'pip'
- name: Python Install Dependencies
run: pip install -r docs/requirements.txt
- name: Build Site
env:
SPHINXOPTS: "-D html_context.commit=${{ github.sha }} -D version=latest -A display_github=true -A github_user=${{ github.repository_owner }} -A github_repo=${{ github.event.repository.name }} -A github_version=${{ github.ref_name }} -A conf_py_path=/docs/source/"
run: make -C docs/ html
- name: Archive Site
uses: actions/upload-artifact@v3
with:
name: FTCDOCS-HTML
path: 'docs/build/html'
if-no-files-found: error
spelling-check:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- uses: reviewdog/action-misspell@v1
with:
locale: "US"
reporter: "github-check"
link-check:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Python Setup
uses: actions/setup-python@v4
with:
python-version: 3.9
cache: 'pip'
- name: Python Install Dependencies
run: pip install -r docs/requirements.txt
- name: Install additional dependencies
run: |
sudo apt-get update
sudo apt-get install -y jq unzip
- name: Download previous artifact
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl -s -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/$GITHUB_REPOSITORY/actions/artifacts?per_page=100" > artifacts.json
DOWNLOAD_URL=$(jq -r '.artifacts[] | select(.name | startswith("LINKCHECK--")) | .archive_download_url' artifacts.json | head -n 1)
if [ -z "$DOWNLOAD_URL" ]; then
echo "No previous LINKCHECK artifact found"
exit 0
fi
curl -L \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
-o linkcheck.zip "$DOWNLOAD_URL"
if [ $? -ne 0 ]; then
echo "Failed to download the zip file"
exit 0
fi
if unzip -t linkcheck.zip >/dev/null 2>&1; then
unzip -q linkcheck.zip -d linkcheck_contents
echo "Successfully downloaded and unzipped previous LINKCHECK artifact"
else
echo "Downloaded file is not a valid zip. Skipping unzip."
rm linkcheck.zip
mkdir -p linkcheck_contents
fi
- name: link-check
run: |
make -C docs/ linkcheck SPHINXOPTS="-W --keep-going -n -q" || true
- name: Compare outputs
run: |
echo "Archived Errors"
cat linkcheck_contents/output.txt
echo "PR Errors"
cat docs/build/linkcheck/output.txt
if [ -f linkcheck_contents/output.txt ]; then
sort linkcheck_contents/output.txt > old_sorted.txt
sort docs/build/linkcheck/output.txt > new_sorted.txt
new_errors=$(comm -13 old_sorted.txt new_sorted.txt)
if [ -n "$new_errors" ]; then
echo "New errors found:"
echo "$new_errors"
exit 1
else
echo "No new errors found."
fi
else
echo "No previous output.txt found. Treating all current errors as new."
cat docs/build/linkcheck/output.txt
[ -s docs/build/linkcheck/output.txt ] && exit 1 || exit 0
fi
- name: Archive Log
if: always()
uses: actions/upload-artifact@v2
with:
name: LINKCHECK-PR-${{ github.event.number }}-${{ github.run_attempt }}
path: docs/build/linkcheck/output.txt
retention-days: 7
image-check:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Python Setup
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Python Install Dependencies
run: pip install -r docs/requirements.txt
- name: image-check
run: make -C docs/ imagecheck
check-redirect:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Fetch origin/main
run: git fetch origin main --depth=1
- name: Python Setup
uses: actions/setup-python@v4
with:
python-version: 3.9
cache: 'pip'
- name: Python Install Dependencies
run: pip install -r docs/requirements.txt
- name: check-redirect
run: make -C docs/ rediraffecheckdiff