Publish Website #3810
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
| # | |
| # Publish to GitHub Pages | |
| # Initially based on the instructions in Antora Docs | |
| # https://docs.antora.org/antora/latest/publish-to-github-pages/ | |
| # | |
| name: Publish Website | |
| on: | |
| # Cronjob for publishing | |
| schedule: | |
| - cron: '0 */8 * * *' | |
| # When pushes are made to the main branch | |
| push: | |
| branches: [ main ] | |
| # Also manually from actions | |
| workflow_dispatch: | |
| concurrency: | |
| group: github-pages | |
| cancel-in-progress: false | |
| # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| services: | |
| kroki: | |
| image: yuzutech/kroki | |
| ports: | |
| - 8000:8000 | |
| options: >- | |
| --health-cmd="curl http://localhost:8000/health || exit 1" | |
| --health-interval=10s | |
| --health-timeout=5s | |
| --health-retries=3 | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Configure Pages | |
| uses: actions/configure-pages@v3 | |
| - name: Install Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - name: Setup java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Install Antora | |
| run: npm i antora | |
| - name: Setup Ruby | |
| uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: '3.3' | |
| bundler-cache: true | |
| - name: Install Graphviz | |
| run: sudo apt update && sudo apt install -y graphviz | |
| - name: List all AsciiDoc files | |
| run: find . -type f -name '*.adoc' | |
| - name: Preprocess underline constraints for PDF | |
| run: | | |
| find . -type f -name '*.adoc' -print0 \ | |
| | xargs -0 sed -i -E 's|<span class="underline">([^<]*)</span>|[underline]#\1#|g' | |
| - name: Clean Antora Build | |
| run: npx antora --clean antora-playbook.yml | |
| - name: Upload Artifacts | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: build/site | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |