Skip to content

Workflow file for this run

name: Docs - Build & Deploy
on:
push:
# branches: ["main"]
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
packages: read
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
strategy:
fail-fast: false
matrix:
build:
- runs-on: self-hosted
runs-on: ${{ matrix.build.runs-on }}
container:
image: ghcr.io/${{ github.repository }}/tt-forge-ubuntu-22-04:latest
options: --user root
env:
MDBOOK_VERSION: 0.4.36
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0 # Fetch all history and tags
- name: Set reusable strings
id: strings
shell: bash
run: |
echo "work-dir=$(pwd)" >> "$GITHUB_OUTPUT"
echo "build-output-dir=$(pwd)/build" >> "$GITHUB_OUTPUT"
- name: Git safe dir
run: git config --global --add safe.directory ${{ steps.strings.outputs.work-dir }}
- name: Build TT-Forge
shell: bash
run: |
# git config --global --add safe.directory /__w/tt-forge/tt-forge
# export CMAKE_C_COMPILER=/usr/bin/clang-17
# export CMAKE_CXX_COMPILER=/usr/bin/clang++-17
# update-alternatives --install /usr/bin/clang clang /usr/bin/clang-17 100
# update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-17 100
# export CC=/usr/bin/gcc
# export CXX=/usr/bin/g++
# git submodule update --init --recursive -f
source env/activate
cmake -G Ninja -B build .
cmake --build build
# cmake -B build -S ${{ github.workspace }}
- name: Install mdBook
shell: bash
run: |
source env/activate
apt install cargo -y
cargo install --version ${MDBOOK_VERSION} mdbook
# export PATH="/localdev/nvukobrat/.cargo/bin:$PATH"
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Build Docs
shell: bash
run: |
cmake --build build -- docs
# cmake --build build -- doxygen
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./build/docs/book
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4