Files
aare/.github/workflows/common-workflow.yml
Bechir Braham 1d0de6876e fix clang-tidy on ci actions + other improvements (#62)
install version 17 for clang-tidy on github actions
use warnings as errors in .clang-tidy
use better clang-tidy checks
use option in CMakeLists to use clang-tidy-17 instead of clang-tidy (14)
2024-04-18 09:26:57 +02:00

78 lines
2.4 KiB
YAML

name: Build and run tests
on:
workflow_call:
inputs:
use-system-libraries: # the variable you can use in place of a matrix
required: true
type: string
default: OFF
build-type:
required: true
type: string
default: Debug
use-python-bindings:
# required: true
type: string
default: OFF
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
JOB_CONTEXT: ${{ toJson(job) }}
STEPS_CONTEXT: ${{ toJson(steps) }}
RUNNER_CONTEXT: ${{ toJson(runner) }}
run: |
echo "$GITHUB_CONTEXT"
echo "$JOB_CONTEXT"
echo "$STEPS_CONTEXT"
echo "$RUNNER_CONTEXT"
echo "The job_id is: $GITHUB_JOB" # reference the default environment variables
echo "The id of this action is: $GITHUB_ACTION" # reference the default environment variables
echo "The run id is: $GITHUB_RUN_ID"
echo "The GitHub Actor's username is: $GITHUB_ACTOR"
echo "GitHub SHA: $GITHUB_SHA"
- name: print inputs
run: |
echo "use-system-libraries: ${{inputs.use-system-libraries}}"
echo "build-type: ${{inputs.build-type}}"
echo "use-python-bindings: ${{inputs.use-python-bindings}}"
- uses: actions/checkout@v4
- uses: mamba-org/setup-micromamba@v1
if: ${{ contains(inputs.use-system-libraries, 'ON')}}
with:
micromamba-version: '1.5.6-0' # any version from https://github.com/mamba-org/micromamba-releases
environment-file: aare-environment.yml
init-shell: bash
cache-environment: true
post-cleanup: 'all'
- name: build
shell: bash -el {0}
run: |
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=${{inputs.build-type}} -DAARE_PYTHON_BINDINGS=${{inputs.use-python-bindings}} -DAARE_SYSTEM_LIBRARIES=${{inputs.use-system-libraries}}
cmake --build . -j
- name: run tests
run: |
cd build/
./run_tests
- name: run examples
# find all examples in build/examples and run them
run: |
pwd
export AARE_ROOT_DIR="$PWD"
ls build/examples/*_example
find build/examples -name "*_example" -not -name "zmq_*" | xargs -I {} -n 1 -t bash -c {}