Build and Deploy Writerside + CodeLabs #16
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 -o codelabs-generated codelabs/workshop/workshop-codelab.md | |
# 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 }} | |
- name: Save artifact with build results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: docs | |
path: | | |
artifacts/${{ env.ARTIFACT }} | |
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 | |
- name: Unzip Writerside artifact | |
run: unzip -O UTF-8 -qq ${{ env.ARTIFACT }} -d dir | |
# Inject CodeLab HTML into Writerside docs | |
- name: Copy CodeLabs to Writerside output | |
run: cp -R codelabs-generated/* dir/ | |
- name: Setup Pages | |
uses: actions/[email protected] | |
- name: Upload artifact | |
uses: actions/[email protected] | |
with: | |
path: dir | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/[email protected] |