Skip to content

Move MAST app into .meta folder, modify the env setup to add in all workarounds #422

Move MAST app into .meta folder, modify the env setup to add in all workarounds

Move MAST app into .meta folder, modify the env setup to add in all workarounds #422

Workflow file for this run

name: Docs
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
build-docs:
if: github.repository_owner == 'meta-pytorch'
name: Build Documentation
runs-on: linux.g5.4xlarge.nvidia.gpu
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup conda env
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
miniconda-version: "latest"
activate-environment: test
python-version: '3.10'
auto-activate: false
- name: Verify conda environment
shell: bash -l {0}
run: |
conda info
which python
which conda
- name: Update pip
shell: bash -l {0}
run: python -m pip install --upgrade pip
- name: Install pytorch
shell: bash -l {0}
run: python -m pip install torch==2.9.0 --index-url https://download.pytorch.org/whl/test/cu130
- name: Install monarch
shell: bash -l {0}
run: pip install assets/ci/monarch_no_torch-0.1.0.dev20251010-py3-none-any.whl
- name: Install torchforge
shell: bash -l {0}
env:
GH_TOKEN: ${{ github.token }}
run: ./scripts/install.sh
- name: Install docs dependencies
shell: bash -l {0}
run: python -m pip install -r docs/requirements.txt
- name: Build docs
shell: bash -l {0}
working-directory: docs
run: |
set +e # Don't exit on error
make html SPHINXOPTS="-WT --keep-going" || echo "Build completed with warnings/errors"
set -e # Re-enable exit on error for subsequent commands
- name: Upload docs artifact
uses: actions/upload-artifact@v4
with:
name: docs
path: docs/build/html/
doc-preview:
runs-on: linux.large
needs: build-docs
if: ${{ github.event_name == 'pull_request' }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: docs
path: docs
- name: Add noindex to preview docs
run: |
echo "Adding noindex meta tag to prevent search engine indexing of preview docs"
find docs -name "*.html" -print0 | xargs -0 sed -i 's/<head>/<head>\n <meta name="robots" content="noindex">/'
- name: Upload docs preview
uses: seemethere/upload-artifact-s3@v5
if: ${{ github.event_name == 'pull_request' }}
with:
retention-days: 14
s3-bucket: doc-previews
if-no-files-found: error
path: docs
s3-prefix: meta-pytorch/forge/${{ github.event.pull_request.number }}
upload:
runs-on: ubuntu-latest
permissions:
# Grant write permission here so that the doc can be pushed to gh-pages branch
contents: write
needs: build-docs
if: github.repository == 'meta-pytorch/forge' && github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch')
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: gh-pages
persist-credentials: true
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: docs
path: docs
#- name: Add no-index tag
# run: |
# REF_NAME=$(echo "${{ github.ref }}")
# echo "Ref name: ${REF_NAME}"
# if [[ "${{ github.ref }}" == 'refs/heads/main' ]]; then
# find docs -name "*.html" -print0 | xargs -0 sed -i '/<head>/a \ \ <meta name="robots" content="noindex">';
# fi
- name: Move and commit changes
run: |
set -euo pipefail
# Get github.ref for the output doc folder. By default "main"
# If matches a tag like refs/tags/v1.12.0-rc3 or
# refs/tags/v1.12.0 convert to 1.12
GITHUB_REF=${{ github.ref }}
# Convert refs/tags/v1.12.0rc3 into 1.12.
# Adopted from https://github.com/pytorch/pytorch/blob/main/.github/workflows/_docs.yml#L150C11-L155C13
if [[ "${GITHUB_REF}" =~ ^refs/tags/v([0-9]+\.[0-9]+)\.* ]]; then
TARGET_FOLDER="${BASH_REMATCH[1]}"
else
TARGET_FOLDER="main"
fi
echo "Target Folder: ${TARGET_FOLDER}"
mkdir -p "${TARGET_FOLDER}"
rm -rf "${TARGET_FOLDER}"/*
mv docs/* "${TARGET_FOLDER}"
git config user.name 'pytorchbot'
git config user.email '[email protected]'
git add "${TARGET_FOLDER}" || true
git commit -m "auto-generating sphinx docs" || true
git push -f