Skip to content

strip repo absolute path prefix from doxygen file pathes #docs #50

strip repo absolute path prefix from doxygen file pathes #docs

strip repo absolute path prefix from doxygen file pathes #docs #50

Workflow file for this run

name: "libcyphal_test"
on:
push: # Further filtering is done in the jobs.
pull_request:
branches:
- main
- 'issue/*'
# To test use https://github.com/nektos/act and specify the event as "act"
# For example:
#
# act act -j verification --bind --reuse
#
# That command will run the verification job locally and bind the current directory
# into the container (You'll probably need to delete any existing build directory
# before running act).
jobs:
warmup:
if: >
contains(github.event.head_commit.message, '#verification') ||
contains(github.event.head_commit.message, '#docs') ||
contains(github.ref, '/main') ||
contains(github.ref, '/issue/') ||
(github.event_name == 'pull_request')
runs-on: ubuntu-latest
container: ghcr.io/opencyphal/toolshed:ts22.4.3
steps:
- uses: actions/checkout@v4
if: ${{ github.event_name != 'act' }}
- name: Cache ext modules
if: ${{ github.event_name != 'act' }}
id: libcyphal-ext
uses: actions/cache@v4
env:
cache-name: libcyphal-ext-cache
with:
path: external
key: ${{ runner.os }}-${{ hashFiles('cmake/modules/*.cmake') }}
- name: get nunavut
# TODO: setup a venv, cache, and distribute to the other jobs.
run: >
pip install nunavut
- name: configure
run: >
./build-tools/bin/verify.py
--verbose
--asserts
--online
--cpp-standard 14
--build-flavor Debug
clean-configure
verification:
if: >
contains(github.event.head_commit.message, '#verification') ||
contains(github.ref, '/main') ||
contains(github.ref, '/issue/') ||
(github.event_name == 'pull_request')
runs-on: ubuntu-latest
container: ghcr.io/opencyphal/toolshed:ts22.4.3
needs: [warmup]
strategy:
matrix:
flavor: [Release, Debug]
std: [14, 17, 20]
toolchain: [gcc, clang]
steps:
- uses: actions/checkout@v4
if: ${{ github.event_name != 'act' }}
- name: Cache ext modules
if: ${{ github.event_name != 'act' }}
id: libcyphal-ext
uses: actions/cache@v4
env:
cache-name: libcyphal-ext-cache
with:
path: external
key: ${{ runner.os }}-${{ hashFiles('cmake/modules/*.cmake') }}
- name: get nunavut
run: >
pip install nunavut
- name: release
run: >
./build-tools/bin/verify.py
--verbose
--asserts
--cpp-standard ${{ matrix.std }}
--build-flavor ${{ matrix.flavor }}
--toolchain ${{ matrix.toolchain }}
clean-release
docs:
if: >
contains(github.event.head_commit.message, '#docs') ||
contains(github.ref, '/main') ||
contains(github.ref, '/issue/') ||
(github.event_name == 'pull_request')
runs-on: ubuntu-latest
container: ghcr.io/opencyphal/toolshed:ts22.4.3
needs: [warmup]
steps:
- uses: actions/checkout@v4
if: ${{ github.event_name != 'act' }}
- name: Cache ext modules
if: ${{ github.event_name != 'act' }}
id: libcyphal-ext
uses: actions/cache@v4
env:
cache-name: libcyphal-ext-cache
with:
path: external
key: ${{ runner.os }}-${{ hashFiles('cmake/modules/*.cmake') }}
- name: get nunavut
run: >
pip install nunavut
- name: doc-gen
run: >
./build-tools/bin/verify.py
--verbose
--asserts
--cpp-standard 14
--build-flavor Debug
build-docs
- name: Setup Pages
if: ${{ github.event_name != 'pull_request' && github.event_name != 'act' }}
uses: actions/configure-pages@v5
- name: Upload docs
if: ${{ github.event_name != 'pull_request' && github.event_name != 'act' }}
uses: actions/upload-pages-artifact@v3
with:
path: "build/docs/html/"
- name: upload-pr-docs
if: ${{ github.event_name == 'pull_request' && github.event_name != 'act' }}
uses: actions/upload-artifact@v4
with:
name: pr-docs
path: "build/docs/html/"
if-no-files-found: error