Build documentation #17
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: Build and Deploy Writerside + CodeLabs | |
on: | |
push: | |
branches: ["dev"] | |
workflow_dispatch: | |
permissions: | |
id-token: write | |
pages: write | |
env: | |
INSTANCE: 'Writerside/modo-docs' | |
ARTIFACT: 'webHelpMODO-DOCS2-all.zip' | |
DOCKER_VERSION: '241.15989' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# Install claat tool | |
- name: Install claat tool | |
run: go install github.com/googlecodelabs/tools/claat@latest | |
env: | |
GOPATH: ${{ runner.temp }}/go | |
# Ensure claat is in PATH | |
- name: Add claat to PATH | |
run: echo "${{ runner.temp }}/go/bin" >> $GITHUB_PATH | |
# Step to Generate CodeLab HTML Files | |
- name: Generate CodeLabs content | |
run: | | |
mkdir -p codelabs-generated | |
claat export codelabs/workshop/workshop-codelab.md -o codelabs-generated || exit 1 | |
# Verify that CodeLabs files were generated | |
- name: List generated CodeLabs files | |
run: ls -la codelabs-generated | |
# Writerside build step | |
- name: Build docs using Writerside Docker builder | |
uses: JetBrains/writerside-github-action@v4 | |
with: | |
instance: ${{ env.INSTANCE }} | |
artifact: ${{ env.ARTIFACT }} | |
docker-version: ${{ env.DOCKER_VERSION }} | |
# Unzip the Writerside artifact | |
- name: Unzip Writerside artifact | |
run: unzip -O UTF-8 -qq artifacts/${{ env.ARTIFACT }} -d dir | |
# Combine CodeLabs and Writerside output | |
- name: Copy CodeLabs to Writerside output | |
run: | | |
if [ -d "codelabs-generated" ] && [ "$(ls -A codelabs-generated)" ]; then | |
cp -R codelabs-generated/* dir/ | |
else | |
echo "No CodeLabs content generated." | |
exit 1 | |
fi | |
# Save combined Writerside + CodeLabs artifact | |
- name: Save combined artifact with Writerside and CodeLabs | |
uses: actions/upload-artifact@v4 | |
with: | |
name: docs | |
path: dir | |
retention-days: 7 | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
# Requires build job results | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: docs | |
# Set up for GitHub Pages deployment | |
- name: Setup Pages | |
uses: actions/[email protected] | |
# Upload to GitHub Pages | |
- name: Upload artifact | |
uses: actions/[email protected] | |
with: | |
path: dir | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/[email protected] |