# Adapted from https://github.com/rust-lang/mdBook/wiki/Automated-Deployment:-GitHub-Actions#github-pages-deploy name: Build docs on: push: branches: - main jobs: deploy: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install mdbook run: | # Get mdbook curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.18/mdbook-v0.4.18-x86_64-unknown-linux-gnu.tar.gz -o mdbook.tar.gz # Verify hash echo "d276b0e594d5980de6a7917ce74c348f28d3cb8b353ca4eaae344ae8a4c40bea mdbook.tar.gz" | sha256sum --check # Get mdbook-mermaid curl -sSL https://github.com/badboy/mdbook-mermaid/releases/download/v0.12.6/mdbook-mermaid-v0.12.6-x86_64-unknown-linux-gnu.tar.gz -o mdbook-mermaid.tar.gz # Verify hash echo "04f9fa41f89b7a1809ef2525efc7ad2c112df4ae1241de25efe354940441ea70 mdbook-mermaid.tar.gz" | sha256sum --check # Extract mkdir mdbook tar -xzf mdbook.tar.gz --directory mdbook mkdir mdbook-mermaid tar -xzf mdbook-mermaid.tar.gz --directory mdbook-mermaid echo `pwd`/mdbook >> $GITHUB_PATH echo `pwd`/mdbook-mermaid >> $GITHUB_PATH - name: Install sphinx run: | # Install python dependencies sudo apt -y install python3 python3-pip python3-sphinx # Install rtd theme pip install sphinx_rtd_theme - uses: actions/setup-go@v3 with: go-version: ^1.22 - name: Build & Install python-eduvpn-common run: | # install pip deps pip install wheel setuptools build # Make go library make # Go to Python wrapper cd wrappers/python # Make wheel make pack # Install wheel pip3 install dist/*.whl - name: Deploy GitHub Pages run: | # Build Sphinx cd wrappers/python/docs make html # Go to root cd ../../.. # Install mermaid preprocessor mdbook-mermaid install docs cd docs mdbook build # gh pages branch settings git worktree add gh-pages gh-pages git config user.name "Deploy from CI" git config user.email "" cd gh-pages # Delete the ref to avoid keeping history. git update-ref -d refs/heads/gh-pages rm -rf * # move mdbook files mv ../book/* . # move sphinx files mkdir -p api/python/rtd mv ../../wrappers/python/docs/build/html/* api/python/rtd # Disable jekyll as otherwise it won't find our sphinx paths # that start with underscore touch .nojekyll git add . git commit -m "Deploy $GITHUB_SHA to gh-pages" git push --force