CI checkout submodules before building. #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Update Docs | |
on: | |
push: | |
branches: [main] | |
jobs: | |
update-docs: | |
name: MetaverseKit API Swift ${{ matrix.swift }} on ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
swift: ["5.10"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: swift-actions/setup-swift@v2 | |
with: | |
swift-version: ${{ matrix.swift }} | |
- uses: actions/checkout@v2 | |
- name: 👨💻 Install CxxStdlib | |
run: sudo apt install libstdc++-12-dev | |
- name: 📙 Install BZ2 | |
run: sudo apt install libbz2-dev | |
- name: 📓 Install ZLib | |
run: sudo apt install zlib1g-dev | |
- name: 🐍 Install Python | |
run: sudo apt install python3-dev | |
- name: 🖼 Install FreeGLUT | |
run: sudo apt install freeglut3-dev | |
- name: 🚀 Install Boost | |
run: sudo apt install libboost-all-dev | |
- name: 🖥️ Install X11 | |
run: sudo apt install libxcursor-dev libxt-dev libxi-dev libxinerama-dev libxrandr-dev | |
- name: 🗃️ Checkout Submodules | |
run: git submodule update --init --recursive | |
- name: Compile Docs | |
run: | | |
set -eux | |
git config user.email "[email protected]" | |
git config user.name "furby™" | |
git fetch | |
git worktree add --checkout gh-pages origin/gh-pages | |
export DOCC_JSON_PRETTYPRINT="YES" | |
export SWIFTPM_ENABLE_COMMAND_PLUGINS=1 | |
swift package \ | |
--allow-writing-to-directory gh-pages/docs \ | |
generate-documentation \ | |
--target MetaversalDemo \ | |
--disable-indexing \ | |
--transform-for-static-hosting \ | |
--output-path gh-pages/docs | |
CURRENT_COMMIT_HASH=`git rev-parse --short HEAD` | |
cd gh-pages | |
# Inject our site at the index | |
rm docs/index.html | |
rm docs/favicon.ico | |
cp index.html docs | |
cp favicon.ico docs | |
cp CNAME docs | |
cp css/main.css docs/css | |
cp -R image docs | |
git add docs | |
# Commit changes | |
if [ -n "$(git status --porcelain)" ]; then | |
echo "Documentation changes found. Commiting the changes to the 'gh-pages' branch and pushing to origin." | |
git commit -m "Update GitHub Pages documentation site to '$CURRENT_COMMIT_HASH'." | |
git push origin HEAD:gh-pages | |
else | |
echo "No documentation changes found." | |
fi |