From 653379c094f462eea33760e3f3049ec2971ef8a3 Mon Sep 17 00:00:00 2001 From: Lysandre Debut Date: Wed, 19 Jan 2022 08:47:34 -0500 Subject: [PATCH] Build dev documentation (#15210) * Wrap up * Remove secret * Fix path * Typo Revert image switch * Specific token for comments * Cleaner comments * Correct PR number * Explicit master install * Force uninstall --- .github/workflows/build_dev_documentation.yml | 102 ++++++++++++++++++ .../workflows/delete_dev_documentation.yml | 57 ++++++++++ 2 files changed, 159 insertions(+) create mode 100644 .github/workflows/build_dev_documentation.yml create mode 100644 .github/workflows/delete_dev_documentation.yml diff --git a/.github/workflows/build_dev_documentation.yml b/.github/workflows/build_dev_documentation.yml new file mode 100644 index 0000000000..cb8fa5d6dd --- /dev/null +++ b/.github/workflows/build_dev_documentation.yml @@ -0,0 +1,102 @@ +name: Build dev documentation + +on: + pull_request: + + +jobs: + build_and_package: + runs-on: [self-hosted, doc-builder] + container: + image: huggingface/doc-builder-transformers + options: "-v /home/github_actions:/mnt" + env: + PR_NUMBER: ${{ github.event.number }} + EVENT_CONTEXT: ${{ toJSON(github.event) }} + + steps: + - uses: actions/checkout@v2 + with: + repository: 'huggingface/doc-builder' + path: doc-builder + + - uses: actions/checkout@v2 + with: + repository: 'huggingface/transformers' + path: transformers + + - uses: actions/checkout@v2 + with: + repository: 'huggingface/notebooks' + path: notebooks + + - name: Set env + run: echo "WRITE=$(cat /mnt/WRITE)" >> $GITHUB_ENV + + - name: Comment PR + uses: thollander/actions-comment-pull-request@v1 + if: github.event.action == 'opened' || github.event.action == 'reopened' + + with: + message: 'Thank you for your PR! The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_$PR_NUMBER). All of your documentation changes will be reflected on that endpoint.' + GITHUB_TOKEN: ${{ env.WRITE }} + + - name: Loading cache. + uses: actions/cache@v2 + id: cache + with: + path: ~/.cache/pip + key: v1-test_build_doc + restore-keys: | + v1-test_build_doc-${{ hashFiles('setup.py') }} + v1-test_build_doc + + - name: Setup environment + run: | + apt-get -y update && apt-get install -y libsndfile1-dev + + pip uninstall -y doc-builder + pip install git+https://github.com/huggingface/doc-builder -U + cd transformers + pip install .[dev] + cd .. + + export TORCH_VERSION=$(python -c "from torch import version; print(version.__version__.split('+')[0])") + pip install torch-scatter -f https://data.pyg.org/whl/torch-${TORCH_VERSION}+cpu.html + + pip install torchvision + python -m pip install 'git+https://github.com/facebookresearch/detectron2.git' + + apt install -y tesseract-ocr + pip install pytesseract + pip install pytorch-quantization --extra-index-url https://pypi.ngc.nvidia.com + pip install https://github.com/kpu/kenlm/archive/master.zip + + - name: Setup git + run: | + git config --global user.name "Hugging Face Doc Builder" + git config --global user.email docs@huggingface.co + + cd doc-builder + git pull origin main + cd .. + + cd notebooks + git pull origin master + cd .. + WRITE=`cat /mnt/WRITE` + + rm -rf doc-build-dev + git clone https://HuggingFaceDocBuilder:$WRITE@github.com/huggingface/doc-build-dev + + - name: Make documentation + run: | + doc-builder build transformers transformers/docs/source --build_dir doc-build-dev --notebook_dir notebooks/transformers_doc --clean --version pr_$PR_NUMBER + + - name: Push to repositories + run: | + cd doc-build-dev + ls + git add . + git commit -m "Updated with commit ${{ github.sha }} See: https://github.com/huggingface/transformers/commit/${{ github.sha }}" + git push origin main diff --git a/.github/workflows/delete_dev_documentation.yml b/.github/workflows/delete_dev_documentation.yml new file mode 100644 index 0000000000..64888faae0 --- /dev/null +++ b/.github/workflows/delete_dev_documentation.yml @@ -0,0 +1,57 @@ +name: Delete dev documentation + +on: + pull_request: + types: [ closed ] + + +jobs: + build_and_package: + runs-on: [self-hosted, doc-builder] + container: + image: huggingface/doc-builder-transformers + options: "-v /home/github_actions:/mnt" + env: + PR_NUMBER: ${{ github.event.number }} + + steps: + - uses: actions/checkout@v2 + - name: Set env + run: echo "WRITE=$(cat /mnt/WRITE)" >> $GITHUB_ENV + + - uses: actions/checkout@v2 + with: + repository: 'huggingface/doc-build-dev' + path: doc-build-dev + token: ${{ env.WRITE }} + + - name: Setup git + run: | + git config --global user.name "Hugging Face Doc Builder" + git config --global user.email docs@huggingface.co + + - name: Push to repositories + run: | + cd doc-build-dev + ls + rm -rf transformers/pr_$PR_NUMBER + ls + git add . + git commit -m "Closed PR ${GITHUB_REF##*/}" + git push origin main + + - name: Comment PR + uses: thollander/actions-comment-pull-request@v1 + if: github.event.pull_request.merged == false + + with: + message: 'Thank you for your PR. The documentation will now be removed from the staging environment - feel free to reopen this PR to recreate it.' + GITHUB_TOKEN: ${{ env.WRITE }} + + - name: Comment PR + uses: thollander/actions-comment-pull-request@v1 + if: github.event.pull_request.merged == true + + with: + message: 'Great job merging this PR! the documentation will now be removed from the staging environment.' + GITHUB_TOKEN: ${{ env.WRITE }}