Skip to content

Commit

Permalink
add configuration to use asam-antora-extensions from this repository
Browse files Browse the repository at this point in the history
  • Loading branch information
martinfiebig committed Sep 24, 2024
1 parent 455e877 commit 3cf4941
Show file tree
Hide file tree
Showing 3 changed files with 123 additions and 13 deletions.
90 changes: 77 additions & 13 deletions .github/workflows/antora-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,57 @@ permissions:
id-token: write
jobs:
build:
name: Build OpenMATERIAL documentation and deploy it to gh-pages
runs-on: ubuntu-latest
services:
kroki:
image: yuzutech/kroki:0.15.1
env:
KROKI_MAX_URI_LENGTH: 8000
KROKI_BLOCKDIAG_HOST: blockdiag
KROKI_MERMAID_HOST: mermaid
blockdiag:
image: yuzutech/kroki-blockdiag:0.15.1
mermaid:
image: yuzutech/kroki-mermaid:0.15.1

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout repository
- name: Checkout with submodules
uses: actions/checkout@v4
with:
path: repo
fetch-depth: 0 # test if depth in fetch history is required
submodules: recursive

- name: Checkout documentation
if: ${{ github.event_name == 'repository_dispatch' && github.event.client_payload.head_ref }}
uses: actions/checkout@v4
with:
repository: martinfiebig/OpenMATERIAL
path: repo #osi-documentation
fetch-depth: 0 # test if depth in fetch history is required

- name: Apply dispatch information
if: ${{ github.event_name == 'repository_dispatch' && github.event.client_payload.head_ref }}
working-directory: repo
run: |
SRC=${{ github.event.client_payload.src }}
IFS="/"
SRC_REPO=($SRC)
unset IFS
SRC_REPO=${SRC_REPO[1]}
HEAD_REF=${{ github.event.client_payload.head_ref }}
echo Branch build for ${HEAD_REF} in ${SRC_REPO}
sed -i -r "s|\[(.*)\] # o|[\1,HEAD] # ${SRC_REPO} # o|g" site.yml
sed -i -r "s|(- url: .*# retrieve content from remote)|# \1|g" site.yml
sed -i -r "s|# (- url: .*# retrieve content locally)|\1|g" site.yml
echo Checking out the target branch
cd OpenMATERIAL
git checkout ${HEAD_REF} 2>/dev/null || git checkout -b ${HEAD_REF}
cd ..
- name: Generate AsciiDoc from JSON
working-directory: scripts
Expand All @@ -40,22 +84,42 @@ jobs:
- name: Configure Pages
uses: actions/configure-pages@v4

- name: Install Node.js
uses: actions/setup-node@v4
- name: Generate site
uses: docker://ghcr.io/asam-ev/project-guide-docker:4
with:
node-version: '20'
entrypoint: sh
args: repo/run-build.sh # modfied based on OSI

- name: Install Antora
run: npm i antora

- name: Generate Site
run: npx antora antora-playbook.yml


- name: Upload Artifacts
uses: actions/upload-pages-artifact@v3
with:
path: build/site
path: ./repo/site

deploy:
# Run if it was not triggered from remote OR the remote source was master or main.
if: ${{ github.event_name != 'repository_dispatch' || contains(github.event.client_payload.ref, 'master') || contains(github.event.client_payload.ref, 'main') }}
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true

needs: build
permissions:
actions: read
pages: write
id-token: write

# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

runs-on: ubuntu-latest

steps:
- name: Deploy
id: deployment
uses: actions/deploy-pages@v4

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
38 changes: 38 additions & 0 deletions antora-playbook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,41 @@ output:

runtime:
fetch: true

# tag::attributes[]
asciidoc:
attributes:
page-pagination: true
hide-uri-scheme: ""
kroki-server-url: 'http://kroki:8000'
kroki-fetch-diagram: ""
# Allow URI read to retrieve SVG on compilation
allow-uri-read: true
# use SVG unless otherwise specified
kroki-default-format: svg
# Make SVG inline so that we can get interactive (can be overridden by schema with "opts=none")
kroki-default-options: interactive
sectnums: "@"
xrefstyle: short@
listing-caption: Code
page-width-limit: none@
THIS_STANDARD: ASAM PLACEHOLDER


# end::attributes[]

extensions:
- asciidoctor-kroki
- './asam-antora-extensions/asam-asciidoctor_extensions.js'
- './asam-antora-extensions/asam-asciidoctor_extensions-registered.js'

antora:
extensions:
- require: '@antora/lunr-extension'
- require: './asam-antora-extensions/asam-antora_extension.js'
numbered_titles: true
section_number_style: 'iso'
alternate_xref_style: 'full'
loft: true
local_to_global_references: false
bibliography: false
8 changes: 8 additions & 0 deletions run-build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
# This script is used tackle a some specifics of the GitHub action used with a docker container.
# It copies the cached node-modules from the container to the runner workspace and then triggers the build using npm

cp -r /usr/src/repo/. /github/workspace/.
cd repo
export NODE_OPTIONS="--max-old-space-size=8192"
exec antora --stacktrace --fetch --clean antora-playbook.yml

0 comments on commit 3cf4941

Please sign in to comment.