Skip to content

Add generalized tile presentation #84

Add generalized tile presentation

Add generalized tile presentation #84

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
permissions:
contents: read
jobs:
documentation:
runs-on: ubuntu-latest
permissions:
contents: read
pages: read
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Check document catalog and links
run: make pages-check
- name: Configure GitHub Pages
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
- name: Build GitHub Pages site
uses: actions/jekyll-build-pages@44a6e6beabd48582f863aeeb6cb2151cc1716697 # v1.0.13
with:
source: ./docs
destination: ./build/pages
- name: Check generated GitHub Pages site
run: make generated-pages-check
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
- name: Build and test
run: make check
renderer-tests:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install uv and Python
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
with:
python-version: "3.14"
- name: Test renderer
working-directory: renderer
run: uv run --locked pytest -q
- name: Install isolated report compiler
run: |
sudo apt-get update
sudo apt-get install --yes --no-install-recommends texlive-latex-base
- name: Compile opt-in run dossier without shell escape
run: make run-dossier-smoke
strict-compilers:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
compiler: [gcc, clang]
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install Clang
if: matrix.compiler == 'clang'
run: |
sudo apt-get update
sudo apt-get install --yes clang
- name: Strict build and tests
run: make strict-check CC=${{ matrix.compiler }}
sanitizers:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: AddressSanitizer and UndefinedBehaviorSanitizer
run: make sanitizer-check CC=gcc
static-analysis:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: GCC static analyzer
run: make analyzer-check CC=gcc
dynamic-analysis:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install Valgrind
run: |
sudo apt-get update
sudo apt-get install --yes valgrind
- name: Check memory safety
run: make valgrind-check
- name: Exercise profiling path
run: make cachegrind-check
coverage:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install uv
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
- name: Measure informational coverage
run: make coverage
parser-fuzz-smoke:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install Clang
run: |
sudo apt-get update
sudo apt-get install --yes clang
- name: Fuzz parser with sanitizers
run: make parser-fuzz-smoke