mirror of https://github.com/google/benchmark.git
98 lines
2.8 KiB
YAML
98 lines
2.8 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-latest, ubuntu-20.04]
|
|
build_type: ['Release', 'Debug']
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: install libpfm
|
|
run: sudo apt -y install libpfm4-dev
|
|
|
|
- name: setup cmake
|
|
uses: jwlawson/actions-setup-cmake@v1.9
|
|
with:
|
|
cmake-version: '3.5.1'
|
|
|
|
- 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
|
|
|
|
ubuntu-16_04:
|
|
name: ubuntu-16.04.${{ matrix.build_type }}
|
|
runs-on: [ubuntu-latest]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: ['Release', 'Debug']
|
|
container: ubuntu:16.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: install required bits
|
|
run: |
|
|
apt update
|
|
apt -y install clang cmake g++ git
|
|
|
|
- name: install libpfm
|
|
run: apt -y install libpfm4-dev
|
|
|
|
- name: create build environment
|
|
run: cmake -E make_directory $GITHUB_WORKSPACE/_build
|
|
|
|
- name: configure cmake
|
|
shell: bash
|
|
working-directory: ${{ github.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: ${{ github.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
|