diff --git a/.github/workflows/build_publish_docs.yaml b/.github/workflows/build_publish_docs.yaml new file mode 100644 index 0000000..55634a8 --- /dev/null +++ b/.github/workflows/build_publish_docs.yaml @@ -0,0 +1,62 @@ +name: Build and Publish Docs to GitHub Pages + +on: + push: + branches: + - main + +jobs: + build-and-publish: + name: Build and Publish Docs + runs-on: ubuntu-latest + permissions: + contents: write + pages: write + id-token: write + steps: + - uses: actions/checkout@v3 + + # - name: Set up Python 3.11 + # uses: actions/setup-python@v5 + # with: + # python-version: 3.11 + + # - name: Install docs dependencies. + # run: pip install -r requirements-docs.txt + + # - name: Auto generate API Reference. + # run: cd docs && pydoc-markdown + + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: yarn + working-directory: . + cache-dependency-path: yarn.lock + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Build website + run: yarn build + + - name: Commit pydoc-markdown files + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + GIT_STATUS=$(git status -s) + [[ ! -z "$GIT_STATUS" ]] && git add * && git commit -m "auto-commit-docs" -a || echo "No changes to commit" + + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ github.ref }} + + # Popular action to deploy to GitHub Pages: + # Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./build \ No newline at end of file