Further fixes for enabling warnings on cross-compartment void returns. #1679
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CHERIoT RTOS Tests | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
merge_group: | |
workflow_dispatch: | |
inputs: | |
devcontainer: | |
description: 'Set to override default build container' | |
type: string | |
required: false | |
jobs: | |
run-tests: | |
strategy: | |
matrix: | |
build-type: [ debug, release ] | |
board: [ sail, ibex-safe-simulator ] | |
include: | |
- sonata: false | |
- build-type: debug | |
build-flags: --debug-loader=y --debug-scheduler=y --debug-allocator=y --allocator-rendering=y -m debug | |
- build-type: release | |
build-flags: --debug-loader=n --debug-scheduler=n --debug-allocator=n -m release --stack-usage-check-allocator=y --stack-usage-check-scheduler=y | |
- board: sonata-simulator | |
build-type: release | |
build-flags: --debug-loader=n --debug-scheduler=n --debug-allocator=n -m release --stack-usage-check-allocator=y --stack-usage-check-scheduler=y --testing-model-output=y | |
sonata: true | |
fail-fast: false | |
runs-on: ubuntu-latest | |
container: | |
image: ${{ inputs.devcontainer || 'ghcr.io/cheriot-platform/devcontainer:latest' }} | |
options: --user 1001 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Build tests | |
run: | | |
cd tests | |
xmake f --board=${{ matrix.board }} --sdk=/cheriot-tools/ ${{ matrix.build-flags }} | |
xmake | |
- name: Run tests | |
# Test suite needs HyperRAM support to be added to RTOS because SRAM is not big enough. | |
if: ${{ !matrix.sonata }} | |
run: | | |
cd tests | |
xmake run | |
- name: Build examples | |
run: | | |
set -e | |
for example_dir in $PWD/examples/*/; do | |
cd $example_dir | |
echo Building $example_dir | |
xmake f --board=${{ matrix.board }} --sdk=/cheriot-tools/ ${{ matrix.build-flags }} | |
xmake | |
done | |
- name: Run examples | |
run: | | |
set -e | |
for example_dir in $PWD/examples/*/; do | |
cd $example_dir | |
echo Running $example_dir | |
xmake run | |
done | |
- name: Build benchmarks | |
run: | | |
set -e | |
for example_dir in $PWD/benchmarks/*/; do | |
cd $example_dir | |
echo Building $example_dir | |
xmake f --board=${{ matrix.board }} --sdk=/cheriot-tools/ ${{ matrix.build-flags }} | |
xmake | |
done | |
check-format: | |
name: Check coding conventions | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/cheriot-platform/devcontainer:latest | |
options: --user 1001 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Generate compiler_commands.json files | |
run: ./scripts/generate_compile_commands.sh | |
- name: Run clang-format and clang-tidy | |
run: ./scripts/run_clang_tidy_format.sh /cheriot-tools/bin | |
all-checks: | |
needs: [run-tests, check-format] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Dummy step | |
run: true |