Feature 534495: Documentation Generation (GH Pages) #4
Workflow file for this run
This file contains hidden or 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: Test Documentation Generation | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| branch_type: | |
| description: 'Type of branch to simulate' | |
| required: true | |
| default: 'main' | |
| type: choice | |
| options: | |
| - main | |
| - release/v1 | |
| - release/v2 | |
| pull_request: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| jobs: | |
| test-docs-generation: | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages-test | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .nvmrc | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Set branch type based on trigger | |
| id: set-branch | |
| run: | | |
| if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then | |
| echo "BRANCH_TYPE=${{ github.event.inputs.branch_type }}" >> $GITHUB_ENV | |
| else | |
| echo "BRANCH_TYPE=main" >> $GITHUB_ENV | |
| fi | |
| echo "VERSION=1.2.3" >> $GITHUB_ENV | |
| - name: Generate documentation | |
| run: | | |
| mkdir -p .github/scripts/docs | |
| bash .github/scripts/docs/generate-and-publish-docs.sh "$BRANCH_TYPE" "$VERSION" | |
| # Create proper structure for GitHub Pages | |
| mkdir -p _site | |
| # Copy all docs | |
| cp -r docs/* _site/ | |
| # Rename entry point (GitHub Pages needs lowercase index.md) | |
| cp docs/INDEX.md _site/index.md | |
| # Create .nojekyll file to bypass Jekyll processing | |
| touch _site/.nojekyll | |
| - name: List _site contents | |
| run: | | |
| echo "Files in _site:" | |
| find _site -type f | sort | |
| # Check index file specifically | |
| echo "Index file check:" | |
| ls -la _site/index* | |
| # Peek at the content of the index file | |
| echo "First 10 lines of index.md:" | |
| head -n 10 _site/index.md || echo "index.md not found" | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v5 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: '_site' | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |