Skip to content

Commit

Permalink
#8534: Add the first iteration of the doc pipeline that brings the d…
Browse files Browse the repository at this point in the history
…ocs into the centralized repo

 #8534: Add packaging of TTNN Docs to the Deployment workflow
  • Loading branch information
dimitri-tenstorrent committed Oct 2, 2024
1 parent 9ddd6e1 commit 95d23da
Show file tree
Hide file tree
Showing 3 changed files with 124 additions and 7 deletions.
19 changes: 12 additions & 7 deletions .github/workflows/docs-latest-public-wrapper.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,21 @@ name: "[post-commit] Docs build and deploy to GitHub pages on main"

on:
workflow_dispatch:

jobs:
build-docker-artifact:
uses: ./.github/workflows/build-docker-artifact.yaml
secrets: inherit
# build-docker-artifact:
# uses: ./.github/workflows/build-docker-artifact.yaml
# secrets: inherit
build-artifact:
needs: build-docker-artifact
# needs: build-docker-artifact
uses: ./.github/workflows/build-artifact.yaml
secrets: inherit
build-docs:
# build-docs:
# needs: build-artifact
# uses: ./.github/workflows/docs-latest-public.yaml
# secrets: inherit
release-docs:
needs: build-artifact
uses: ./.github/workflows/docs-latest-public.yaml
uses: ./.github/workflows/docs-release.yaml
with:
version: v0.52.0
secrets: inherit
106 changes: 106 additions & 0 deletions .github/workflows/docs-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: "Release Docs: package the docs and publish to Docs the repo"

on:
workflow_dispatch:
inputs:
version:
required: true
type: string
workflow_call:
inputs:
version:
required: true
type: string

concurrency:
# Note that people may spam the post-commit pipeline on their branch, and
# we have this docs pipeline in the post-commit pipeline, then people
# would have to wait until the previous one fully completes. That may be
# ok because each post-commit pipeline definitely takes more than 30 min
group: "pages-${{ github.ref }}"
cancel-in-progress: false

jobs:
package-push-docs:
strategy:
# Do not fail-fast because we need to ensure all tests go to completion
# so we try not to get hanging machines
fail-fast: false
matrix:
arch: [grayskull]
env:
TT_METAL_ENV: ${{ vars.TT_METAL_ENV }}
DOCS_VERSION: ${{ inputs.version }}
ARCH_NAME: ${{ matrix.arch }}
LOGURU_LEVEL: INFO
LD_LIBRARY_PATH: ${{ github.workspace }}/build/lib
environment: dev
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
lfs: false
- name: Set up dynamic env vars for build
run: |
echo "TT_METAL_HOME=$(pwd)" >> $GITHUB_ENV
- uses: ./.github/actions/install-metal-deps
with:
os: ubuntu-20.04
- uses: ./.github/actions/install-metal-dev-deps
with:
os: ubuntu-20.04
- uses: actions/download-artifact@v4
with:
name: TTMetal_build_${{ matrix.arch }}
- name: Extract files
run: tar -xvf ttm_${{ matrix.arch }}.tar
- uses: ./.github/actions/install-python-deps
- name: Build Doxygen Docs
timeout-minutes: 15
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
source ${{ github.workspace }}/python_env/bin/activate
cd $TT_METAL_HOME
export PYTHONPATH=$TT_METAL_HOME
doxygen
- name: Clone Shared Docs Repo
run: |
GITHUB_USER=tenstorrent-github-bot
git config --global user.email "${GITHUB_USER}@tenstorrent.com"
git config --global user.name "${GITHUB_USER}"
echo "About to clone"
git clone https://${GITHUB_USER}:${{ secrets.TTBOT_DOCS_ACCESS }}@github.com/tenstorrent/docs-test.git
git remote set-url origin https://${GITHUB_USER}::${{ secrets.TTBOT_DOCS_ACCESS }}@github.com/tenstorrent/docs-test.git
- name: Package TT-Metalium Docs
run: |
echo "Preparing tt-metalium docs assets"
mkdir tt-metalium
cp -Lr docs/doxygen_build tt-metalium
cp -Lr docs/source/tt-metalium/* tt-metalium
rm tt-metalium/conf.py # Do not change conf.py
echo "Copying the docs into the repo"
cp -r tt-metalium/* docs-test/tt-metalium
- name: Package TT-NN Docs
run: |
mkdir ttnn-docs
cp -Lr docs/doxygen_build ttnn-docs
cp -Lr docs/source/ttnn/* ttnn-docs
rm ttnn-docs/conf.py # Do not change conf.py
echo "Copying the docs into the repo"
cp -r ttnn-docs/* docs-test/ttnn
- name: Push new versions to the Docs repo for publishing
run: |
cd docs-test
echo "Register new documentation versions"
python update_tags.py tt-metalium $DOCS_VERSION
python update_tags.py ttnn $DOCS_VERSION
git add .
git commit -m "Update ttnn and tt-metalium docs from pipeline ${{ github.run_id }} with tag $DOCS_VERSION"
echo "Tag commits to identify different versions."
git tag -a ttnn_$DOCS_VERSION -m "ttnn and tt-metalium documentation version $DOCS_VERSION"
git tag -a tt-metalium_$DOCS_VERSION -m "ttnn and tt-metalium documentation version $DOCS_VERSION"
echo "Pushing the new docs"
# git push && git push --tags
6 changes: 6 additions & 0 deletions .github/workflows/package-and-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -206,3 +206,9 @@ jobs:
tags: ghcr.io/${{ github.repository }}/tt-metalium/ubuntu-20.04-amd64:${{ needs.create-tag.outputs.version }}-dev
context: .
file: dockerfile/ubuntu-20.04-amd64.Dockerfile
release-docs:
needs: create-and-upload-draft-release
uses: ./.github/workflows/docs-release.yaml
with:
version: ${{ needs.create-tag.outputs.version }}
secrets: inherit

0 comments on commit 95d23da

Please sign in to comment.