52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
|
name: build-and-test-perfcounters
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
branches: [ main ]
|
||
|
pull_request:
|
||
|
branches: [ main ]
|
||
|
|
||
|
jobs:
|
||
|
job:
|
||
|
# TODO(dominic): Extend this to include compiler and set through env: CC/CXX.
|
||
|
name: ${{ matrix.os }}.${{ matrix.build_type }}
|
||
|
runs-on: ${{ matrix.os }}
|
||
|
strategy:
|
||
|
fail-fast: false
|
||
|
matrix:
|
||
|
os: [ubuntu-22.04, ubuntu-20.04]
|
||
|
build_type: ['Release', 'Debug']
|
||
|
steps:
|
||
|
- uses: actions/checkout@v3
|
||
|
|
||
|
- name: install libpfm
|
||
|
run: |
|
||
|
sudo apt update
|
||
|
sudo apt -y install libpfm4-dev
|
||
|
|
||
|
- name: create build environment
|
||
|
run: cmake -E make_directory ${{ runner.workspace }}/_build
|
||
|
|
||
|
- name: configure cmake
|
||
|
shell: bash
|
||
|
working-directory: ${{ runner.workspace }}/_build
|
||
|
run: >
|
||
|
cmake $GITHUB_WORKSPACE
|
||
|
-DBENCHMARK_ENABLE_LIBPFM=1
|
||
|
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON
|
||
|
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
|
||
|
|
||
|
- name: build
|
||
|
shell: bash
|
||
|
working-directory: ${{ runner.workspace }}/_build
|
||
|
run: cmake --build . --config ${{ matrix.build_type }}
|
||
|
|
||
|
# Skip testing, for now. It seems perf_event_open does not succeed on the
|
||
|
# hosting machine, very likely a permissions issue.
|
||
|
# TODO(mtrofin): Enable test.
|
||
|
# - name: test
|
||
|
# shell: bash
|
||
|
# working-directory: ${{ runner.workspace }}/_build
|
||
|
# run: ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure
|
||
|
|