Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
a2264d5
Migrate documentation from Doxygen to Antora + MrDocs
steve-downey May 6, 2026
9e07801
Add Makefile targets for installing and updating docs tools
steve-downey May 6, 2026
6a0c9ac
Add clean-docs and clean-mrdocs targets hooked to clean
steve-downey May 6, 2026
6c832b2
Fix MrDocs download URL format
steve-downey May 6, 2026
b754280
Fix compiler detection and MrDocs integration for docs build
steve-downey May 6, 2026
5835281
Fix broken xrefs and remove redundant exclude-symbols entry
steve-downey May 6, 2026
c039047
Add attribution comments and document known extension/MrDocs compatib…
steve-downey May 6, 2026
0d2ba96
Use stamp file and generated dep file for docs target
steve-downey May 6, 2026
0998828
Set SHELL := /bin/bash explicitly
steve-downey May 6, 2026
fb0f0a6
Rename stamp file to .docs.stamp for clarity
steve-downey May 6, 2026
16b8e7b
Find bash via which rather than hardcoding /bin/bash
steve-downey May 6, 2026
7c2f59c
Use command -v to locate bash, not which
steve-downey May 6, 2026
c1a5fae
Move docs output into toolchain build directory
steve-downey May 6, 2026
d403fb7
Refactor: extract long MrDocs install recipe into etc/install-mrdocs.sh
steve-downey May 6, 2026
ef26e79
Bump the github-actions group with 7 updates
dependabot[bot] May 3, 2026
e72c311
Bump github/codeql-action in the github-owned-actions group
dependabot[bot] May 3, 2026
0a0328b
Fix header navbar and document version dropdown support
steve-downey May 6, 2026
0825bb3
Migrate documentation from Doxygen to Antora + MrDocs
steve-downey May 6, 2026
4f5be4e
Add Makefile targets for installing and updating docs tools
steve-downey May 6, 2026
0523848
Add clean-docs and clean-mrdocs targets hooked to clean
steve-downey May 6, 2026
24076b5
Fix MrDocs download URL format
steve-downey May 6, 2026
14f45c1
Fix compiler detection and MrDocs integration for docs build
steve-downey May 6, 2026
460b35b
Fix broken xrefs and remove redundant exclude-symbols entry
steve-downey May 6, 2026
d3cd203
Add attribution comments and document known extension/MrDocs compatib…
steve-downey May 6, 2026
49d7b22
Use stamp file and generated dep file for docs target
steve-downey May 6, 2026
9cf9f4a
Set SHELL := /bin/bash explicitly
steve-downey May 6, 2026
e8f697e
Rename stamp file to .docs.stamp for clarity
steve-downey May 6, 2026
119da6c
Find bash via which rather than hardcoding /bin/bash
steve-downey May 6, 2026
f353163
Use command -v to locate bash, not which
steve-downey May 6, 2026
405e5b2
Move docs output into toolchain build directory
steve-downey May 6, 2026
fca99cf
Refactor: extract long MrDocs install recipe into etc/install-mrdocs.sh
steve-downey May 6, 2026
0de9ba4
Migrate documentation from Doxygen to Antora + MrDocs
steve-downey May 6, 2026
82796c0
Merge remote-tracking branch 'bbgithub/docs/antora-migration' into do…
steve-downey May 8, 2026
175d126
Fix docs build compiler selection for clang toolchains
steve-downey May 8, 2026
ab0d5bf
Use worktrees: [HEAD] in Antora playbook for worktree support
steve-downey May 8, 2026
3df773a
Fix Antora failing to open local content source in a git worktree
steve-downey May 8, 2026
0434fc6
Fix standalone Antora output dir to use .build/ convention
steve-downey May 8, 2026
800df8e
Fix docs build: npm sentinel, auto-install deps, correct xref module …
steve-downey May 9, 2026
663f93d
Fix antora-worktree-fix.js for bare-repo + worktrees layout
steve-downey May 9, 2026
97fc83e
Restore nav.adoc and fix mrdocs.yml lost in merge
steve-downey May 9, 2026
b9c7de0
Document bare-repo git pull requirement in antora-playbook.yml
steve-downey May 9, 2026
e0f3250
Fix antora-worktree-fix.js: sync remote-tracking refs in bare repos
steve-downey May 9, 2026
4bef0e2
antora-worktree-fix: handle all bare-repo branch scenarios
steve-downey May 9, 2026
3b1ef08
Rewrite docs.yml: build on all pushes/PRs, artifact upload, PR comment
steve-downey May 9, 2026
6a1ea01
Move the antora extension to its own directory.
steve-downey May 9, 2026
872237a
Fix actions-gh-pages SHA
steve-downey May 9, 2026
c58da18
Disable the beman-tidy checks
steve-downey May 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ on:

jobs:
beman-submodule-check:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@503ac65da3fd803044bc82b2fe748b2fc6f503cd # 1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@4d946e210ce2ee68ccd8607c8acccacf171830c5 # 1.7.1

preset-test:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@503ac65da3fd803044bc82b2fe748b2fc6f503cd # 1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@4d946e210ce2ee68ccd8607c8acccacf171830c5 # 1.7.1
with:
matrix_config: >
[
Expand All @@ -34,7 +34,7 @@ jobs:
]

build-and-test:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@503ac65da3fd803044bc82b2fe748b2fc6f503cd # 1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@4d946e210ce2ee68ccd8607c8acccacf171830c5 # 1.7.1
with:
matrix_config: >
{
Expand Down Expand Up @@ -147,4 +147,4 @@ jobs:
permissions:
contents: read
issues: write
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@503ac65da3fd803044bc82b2fe748b2fc6f503cd # 1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@4d946e210ce2ee68ccd8607c8acccacf171830c5 # 1.7.1
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
uses: step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450 # v2.19.1
with:
egress-policy: audit

Expand All @@ -77,7 +77,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
uses: github/codeql-action/init@e46ed2cbd01164d986452f91f178727624ae40d7 # v4.35.3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand Down Expand Up @@ -106,7 +106,7 @@ jobs:

exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
uses: github/codeql-action/analyze@e46ed2cbd01164d986452f91f178727624ae40d7 # v4.35.3
with:

category: "/language:${{matrix.language}}"
117 changes: 117 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: Documentation

on:
push:
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
build:
name: Build
runs-on: ubuntu-latest
permissions:
contents: write # needed for gh-pages deploy on main
pull-requests: write # needed to post the preview comment on PRs

steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
with:
egress-policy: audit

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 1

- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: '20'

- name: Install Clang
run: |
sudo apt-get update -qq
sudo apt-get install -y clang-18 libclang-18-dev

- name: Cache MrDocs
uses: actions/cache@v4
with:
path: .tools/mrdocs
key: mrdocs-${{ runner.os }}-${{ hashFiles('etc/install-mrdocs.sh') }}

- name: Cache node_modules
uses: actions/cache@v4
with:
path: node_modules
key: npm-${{ hashFiles('package-lock.json') }}

- name: Build documentation
run: make docs

- name: Locate output directory
id: out
run: echo "dir=$(make -s print-docs-out)" >> "$GITHUB_OUTPUT"

- name: Upload docs artifact
uses: actions/upload-artifact@v4
with:
name: docs-site
path: ${{ steps.out.outputs.dir }}/
retention-days: 14

# Posts a comment on the PR with a direct link to the workflow run
# where the docs-site artifact can be downloaded and inspected.
# Uses a hidden marker so the comment is updated (not duplicated) on
# each push to the PR branch.
# continue-on-error because fork PRs may lack write permission for
# pull-requests; the build still passes even if the comment fails.
- name: Post or update PR preview comment
if: github.event_name == 'pull_request'
continue-on-error: true
uses: actions/github-script@v7
with:
script: |
const MARKER = '<!-- docs-preview-comment -->'
const runUrl = `${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`
const sha = context.payload.pull_request.head.sha.slice(0, 7)
const body = [
MARKER,
`📚 **Documentation preview** for \`${sha}\` — [workflow run](${runUrl})`,
'',
'To review: open the **docs-site** artifact from that run,',
'extract the zip, and open `index.html` in a browser.',
].join('\n')

const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
})
const existing = comments.find(c => c.body.includes(MARKER))
if (existing) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: existing.id,
body,
})
} else {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body,
})
}

- name: Deploy to GitHub Pages
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{ steps.out.outputs.dir }}
publish_branch: gh-pages
28 changes: 0 additions & 28 deletions .github/workflows/doxygen-gh-pages.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/ossf-scorecard-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
uses: step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450 # v2.19.1
with:
egress-policy: audit

Expand Down Expand Up @@ -56,6 +56,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
uses: github/codeql-action/upload-sarif@e46ed2cbd01164d986452f91f178727624ae40d7 # v4.35.3
with:
sarif_file: results.sarif
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ jobs:
checks: write
issues: write
pull-requests: write
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@503ac65da3fd803044bc82b2fe748b2fc6f503cd # ratchet:bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@4d946e210ce2ee68ccd8607c8acccacf171830c5 # ratchet:bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.7.1
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
permissions:
contents: write
pull-requests: write
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@503ac65da3fd803044bc82b2fe748b2fc6f503cd # 1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@4d946e210ce2ee68ccd8607c8acccacf171830c5 # 1.7.1
secrets:
APP_ID: ${{ secrets.AUTO_PR_BOT_APP_ID }}
PRIVATE_KEY: ${{ secrets.AUTO_PR_BOT_PRIVATE_KEY }}
4 changes: 2 additions & 2 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:

steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
uses: step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450 # v2.19.1
with:
egress-policy: audit

Expand Down Expand Up @@ -50,7 +50,7 @@ jobs:

steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
uses: step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450 # v2.19.1
with:
egress-policy: audit

Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ compile_commands.json
/docs/html
/docs/latex
/docs/adoc/
/docs/modules/ROOT/pages/reference/
/node_modules/
/build/
/installtest/.build/

Expand Down
15 changes: 8 additions & 7 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,15 @@ repos:
args: ['-I', '.codespell_ignore', '--uri-ignore-words-list', '*']
exclude: >
(?x)^(
papers/.*
papers/.* |
package-lock.json
)$

# Beman Standard checking via beman-tidy
- repo: https://github.com/bemanproject/beman-tidy
rev: v0.4.0
hooks:
- id: beman-tidy
args: [".", "--verbose", "--require-all"]
# # Beman Standard checking via beman-tidy
# - repo: https://github.com/bemanproject/beman-tidy
# rev: v0.4.0
# hooks:
# - id: beman-tidy
# args: [".", "--verbose", "--require-all"]

exclude: 'infra/'
Loading
Loading