-
Notifications
You must be signed in to change notification settings - Fork 441
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build docs with docs deps and make (#956)
* Build docs with docs deps and make * Update CI for publishing docs * Build docs only when docs change Signed-off-by: Mike McKiernan <[email protected]>
- Loading branch information
1 parent
715e88b
commit 71bcd2d
Showing
15 changed files
with
2,772 additions
and
1,878 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
name: docs-build | ||
|
||
on: | ||
pull_request: | ||
branches: [develop] | ||
types: [opened, synchronize] | ||
paths: | ||
- "docs/**" | ||
- "**/*.md" | ||
- "**/*.rst" | ||
push: | ||
branches: [develop] | ||
tags: | ||
- docs-v* | ||
- v* | ||
workflow_dispatch: | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
env: | ||
PYTHON_VERSION: "3.10" | ||
POETRY_VERSION: "1.8.2" | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build-docs: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Set up Python ${{ env.PYTHON_VERSION }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ env.PYTHON_VERSION }} | ||
- name: Bootstrap poetry (Linux and macOS) | ||
run: | | ||
curl -sSL https://install.python-poetry.org | POETRY_VERSION=${{ env.POETRY_VERSION }} python - | ||
- name: Update PATH | ||
run: echo "$HOME/.local/bin" >> $GITHUB_PATH | ||
- name: Configure poetry | ||
run: poetry config virtualenvs.in-project true | ||
- name: Install dependencies | ||
run: poetry install --only docs | ||
- name: Build documentation | ||
run: make docs | ||
- name: Delete unnecessary files | ||
run: | | ||
sudo find _build -name .doctrees -prune -exec rm -rf {} \; | ||
sudo find _build -name .buildinfo -exec rm {} \; | ||
- name: Upload HTML | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: html-build-artifact | ||
path: _build/docs | ||
if-no-files-found: error | ||
retention-days: 1 | ||
- name: Store PR information | ||
if: github.event_name == 'pull_request' | ||
run: | | ||
mkdir ./pr | ||
echo ${{ github.event.number }} > ./pr/pr.txt | ||
echo ${{ github.event.pull_request.merged }} > ./pr/merged.txt | ||
echo ${{ github.event.action }} > ./pr/action.txt | ||
- name: Upload PR information | ||
if: github.event_name == 'pull_request' | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: pr | ||
path: pr/ | ||
|
||
store-html: | ||
if: github.event_name == 'push' | ||
needs: [build-docs] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: "gh-pages" | ||
- name: Initialize Git configuration | ||
run: | | ||
git config user.name docs-build | ||
git config user.email [email protected] | ||
- name: Download artifacts | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: html-build-artifact | ||
- name: Copy HTML directories | ||
run: | | ||
ls -asl | ||
for i in `ls -d *` | ||
do | ||
echo "Git adding ${i}" | ||
git add "${i}" | ||
done | ||
- name: Check or create dot-no-jekyll file | ||
run: | | ||
if [ -f ".nojekyll" ]; then | ||
echo "The dot-no-jekyll file already exists." | ||
exit 0 | ||
fi | ||
touch .nojekyll | ||
git add .nojekyll | ||
- name: Check or create redirect page | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
resp=$(grep 'http-equiv="refresh"' index.html 2>/dev/null) || true | ||
if [ -n "${resp}" ]; then | ||
echo "The redirect file already exists." | ||
exit 0 | ||
fi | ||
# If any of these commands fail, fail the build. | ||
def_branch=$(gh api "repos/${GITHUB_REPOSITORY}" --jq ".default_branch") | ||
html_url=$(gh api "repos/${GITHUB_REPOSITORY}/pages" --jq ".html_url") | ||
# Beware ugly quotation mark avoidance in the foll lines. | ||
echo '<!DOCTYPE html>' > index.html | ||
echo '<html>' >> index.html | ||
echo ' <head>' >> index.html | ||
echo ' <title>Redirect to documentation</title>' >> index.html | ||
echo ' <meta charset="utf-8">' >> index.html | ||
echo ' <meta http=equiv="refresh" content="3; URL='${html_url}${def_branch}'/index.html">' >> index.html | ||
echo ' <link rel="canonical" href="'${html_url}${def_branch}'/index.html">' >> index.html | ||
echo ' <script language="javascript">' >> index.html | ||
echo ' function redirect() {' >> index.html | ||
echo ' window.location.assign("'${html_url}${def_branch}'/index.html")' >> index.html | ||
echo ' }' >> index.html | ||
echo ' </script>' >> index.html | ||
echo ' </head>' >> index.html | ||
echo ' <body onload="redirect()">' >> index.html | ||
echo ' <p>Please follow the link to the <a href="'${html_url}${def_branch}'/index.html">' >> index.html | ||
echo ${def_branch}'</a> branch documentation.</p>' >> index.html | ||
echo ' </body>' >> index.html | ||
echo '</html>' >> index.html | ||
git add index.html | ||
- name: Commit changes to the GitHub Pages branch | ||
run: | | ||
git status | ||
if git commit -m 'Pushing changes to GitHub Pages.'; then | ||
git push -f | ||
else | ||
echo "Nothing changed." | ||
fi |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: docs-preview-pr | ||
|
||
on: | ||
workflow_run: | ||
workflows: [docs-build] | ||
types: [completed] | ||
branches-ignore: [develop] | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
|
||
env: | ||
WF_ID: ${{ github.event.workflow_run.id }} | ||
|
||
jobs: | ||
preview: | ||
uses: nvidia-merlin/.github/.github/workflows/docs-preview-pr-common.yaml@main |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
name: docs-remove-stale-reviews | ||
|
||
on: | ||
schedule: | ||
# 42 minutes after 0:00 UTC on Sundays | ||
- cron: "42 0 * * 0" | ||
workflow_dispatch: | ||
|
||
jobs: | ||
remove: | ||
uses: nvidia-merlin/.github/.github/workflows/docs-remove-stale-reviews-common.yaml@main |
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
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
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
Oops, something went wrong.