| # Builds the website sourced from docs/website/ using `mkdocs` and pushes |
| # to the gh-pages branch for publishing on GitHub Pages. |
| # |
| # See https://squidfunk.github.io/mkdocs-material/publishing-your-site/ |
| |
| name: Publish Website |
| |
| on: |
| workflow_dispatch: |
| push: |
| branches: |
| - main |
| paths: |
| - "docs/website/**" |
| - "build_tools/scripts/generate_release_index.py" |
| - ".github/workflows/publish_website.yml" |
| # Regenerate the release pip index when a regular or pre-release is created or |
| # deleted. |
| release: |
| types: [published, unpublished] |
| |
| jobs: |
| publish_website: |
| runs-on: ubuntu-20.04 |
| steps: |
| - name: Checkout out repository |
| uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0 |
| with: |
| token: ${{ secrets.WRITE_ACCESS_TOKEN }} |
| - name: Fetching base gh-pages branch |
| # We have to explicitly fetch the gh-pages branch as well to preserve history |
| run: git fetch --no-tags --prune --depth=1 origin "gh-pages:gh-pages" |
| - name: Setting up Python |
| uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4.5.0 |
| with: |
| python-version: 3.x |
| cache: 'pip' |
| - name: Installing dependencies |
| run: | |
| pip install \ |
| mkdocs-material \ |
| requests |
| - name: Generating release index |
| run: | |
| ./build_tools/scripts/generate_release_index.py \ |
| --repo="${GITHUB_REPOSITORY}" \ |
| --output=docs/website/docs/pip-release-links.html |
| - name: Setting git config |
| run: | |
| git config --local user.email "iree-github-actions-bot@google.com" |
| git config --local user.name "Website Publish Action" |
| - name: Deploying to gh-pages |
| working-directory: docs/website |
| run: mkdocs gh-deploy |