Skip to content

tune: a progress display for --tune, per-ISA [tuned] fallbacks, and arm64 cpu_supports #5160

tune: a progress display for --tune, per-ISA [tuned] fallbacks, and arm64 cpu_supports

tune: a progress display for --tune, per-ISA [tuned] fallbacks, and arm64 cpu_supports #5160

Workflow file for this run

name: Build doc
# Run only on tags and release publish
on:
release:
types: prereleased
push:
paths:
- 'doc/**'
- 'daslib/**'
- 'src/builtin/**'
- 'modules/dasLLAMA/dasllama/**'
pull_request:
paths:
- 'doc/**'
- 'daslib/**'
- 'src/builtin/**'
- 'modules/dasLLAMA/dasllama/**'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: "SCM Checkout"
uses: actions/checkout@v4
- name: "Install Python dependencies"
run: |
# Our bindings do not work on latest.
pip install -r doc/requirements.txt
- name: "Install CMake and Ninja"
uses: lukka/get-cmake@latest
- name: "Build: Daslang (for das2rst)"
run: |
set -eux
mkdir build
cmake --no-warn-unused-cli -B./build \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DDAS_HV_DISABLED=OFF \
-DDAS_PUGIXML_DISABLED=OFF \
-DDAS_LLVM_DISABLED=ON \
-DDAS_GLFW_DISABLED=ON \
-DDAS_BUILD_DOCUMENTATION=ON \
-G Ninja
cmake --build ./build --target daslang
- name: "Run das2rst"
run: cmake --build ./build --target check_docs_generated
- name: "Check for // `stub` in handmade docs"
run: |
set -eux
if grep -rl '// stub' doc/source/stdlib/handmade/; then
echo "ERROR: Found // stub entries in handmade docs. Please provide proper documentation."
exit 1
fi
- name: "Check for Uncategorized sections"
run: |
set -eux
if grep -rl '^Uncategorized$' doc/source/stdlib/generated/; then
echo "ERROR: Found Uncategorized sections in generated docs."
echo "Add the function(s) to a group_by_regex() in doc/reflections/das2rst.das."
exit 1
fi
- name: "Check for new untracked RST files"
run: |
set -eux
UNTRACKED=$(git ls-files --others --exclude-standard doc/source/stdlib/)
if [ -n "$UNTRACKED" ]; then
echo "ERROR: das2rst generated new files not tracked in git:"
echo "$UNTRACKED"
echo "Run das2rst locally and commit the new files."
exit 1
fi
- name: "Build documentation (HTML + LaTeX)"
run: cmake --build ./build --target build_doc
- name: Compile LaTeX document
uses: xu-cheng/latex-action@v4
with:
# Pinned: the rolling texlive-alpine:latest flipped to TL 2026 (2026-07-01) whose kernel
# dies with "TeX capacity exceeded [input stack size]" on the generated stdlib PDF.
texlive_version: "2025"
root_file: daslangstdlib.tex
working_directory: build/doc/doc_latex
continue_on_error: true
- name: Compile LaTeX document
uses: xu-cheng/latex-action@v4
with:
texlive_version: "2025"
root_file: daslang.tex
working_directory: build/doc/doc_latex
continue_on_error: true
- name: Check pdf file
run: |
find . -name "*.pdf"
- name: "Upload release PDFs"
if: github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'prereleased')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload "${{ github.event.release.tag_name }}" build/doc/doc_latex/daslang.pdf build/doc/doc_latex/daslangstdlib.pdf --clobber