Skip to content

Deploy Documentation #23

Deploy Documentation

Deploy Documentation #23

name: Deploy Documentation
on:
workflow_dispatch: {}
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
build:
name: Build Documentation
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Build Documentation
run: |
set -o pipefail &&\
xcodebuild docbuild\
-scheme Runestone\
-destination 'generic/platform=iOS'\
-derivedDataPath ../DerivedData\
| xcbeautify --renderer github-actions
- name: Process Archive
run: |
mkdir _site
$(xcrun --find docc) process-archive \
transform-for-static-hosting ../DerivedData/Build/Products/Debug-iphoneos/Runestone.doccarchive \
--output-path _site \
--hosting-base-path /
- name: Create Custom index.html
run: |
rm _site/index.html
cat > _site/index.html <<- EOM
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; url='https://docs.runestone.app/documentation/runestone/'" />
</head>
<body>
<p>Please follow <a href="https://docs.runestone.app/documentation/runestone/">this link</a>.</p>
</body>
</html>
EOM
- name: Upload Artifact
uses: actions/upload-pages-artifact@v3
deploy:
name: Deploy Documentation
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4