Skip to content

[PTI-SDK] Fix CMake Install and find_package (#48) #6

[PTI-SDK] Fix CMake Install and find_package (#48)

[PTI-SDK] Fix CMake Install and find_package (#48) #6

name: sdk-build-and-test
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
sdk-build-and-test:
if: vars.PTI_RUN_TESTS == 1
runs-on: self-hosted
steps:
- name: Clean-up
run: rm -rf *
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
cd sdk
cmake --preset default
cmake --build --preset default -j $(($(nproc)/2))
- name: Test
run: |
cd sdk
ctest --output-on-failure --test-dir build
- name: BuildSanitized
if: always()
run: |
cd sdk
cmake --preset asan
cmake --build --preset asan --parallel $(($(nproc)/2))
- name: BuildFuzz
if: always()
run: |
# To ensure it still builds, run build for fuzz targets until we have
# proper fuzz testing infrastructure in place.
cd sdk
cmake --preset fuzz
cmake --build --preset fuzz --parallel $(($(nproc)/2))
- name: TestSanitized
if: always()
run: |
cd sdk
ctest --preset asan --output-on-failure -L samples
pti-tools-build-and-test:
needs: sdk-build-and-test # this is a workaround to ensure jobs run sequentially
# TODO make the workflow more generic
# run this job only if the previous one run and provided some result
if: (needs.sdk-build-and-test.result == 'success' || needs.sdk-build-and-test.result == 'failure' )
runs-on: self-hosted
steps:
- name: Clean-up
run: rm -rf *
- name: Checkout
uses: actions/checkout@v4
- name: Build-and-test-unitrace
run: |
python ./tests/run.py -s unitrace
- name: Build-and-test-onetrace
if: always()
run: |
python ./tests/run.py -s onetrace
- name: Build-and-test-oneprof
if: always()
run: |
python ./tests/run.py -s oneprof
- name: Build-and-test-sysmon
if: always()
run: |
python ./tests/run.py -s sysmon
- name: Build-and-test-cl_gpu_metrics
if: always()
run: |
python ./tests/run.py -s cl_gpu_metrics
- name: Build-and-test-gpu-inst-count
if: always()
run: |
python ./tests/run.py -s gpu_inst_count