| 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 |