Skip to content

Enable gwb-grid code coverage. #1347

Enable gwb-grid code coverage.

Enable gwb-grid code coverage. #1347

Workflow file for this run

name: benchmarks
on: [pull_request]
concurrency:
group: ${{ github.actor }}-${{ github.ref }}-benchmarks
cancel-in-progress: true
jobs:
benchmarks:
strategy:
fail-fast: false
matrix:
benchmark_number: [1,2,3,4,5,6,7,8]
include:
- benchmark_number: 1
benchmark_name: 'slab_interpolation_simple_none'
benchmark_gridfile: 'cartesian_subducting_plate_gridfile'
- benchmark_number: 2
benchmark_name: 'slab_interpolation_simple_curved_none'
benchmark_gridfile: 'cartesian_subducting_plate_gridfile'
- benchmark_number: 3
benchmark_name: 'spherical_slab_interpolation_simple_none'
benchmark_gridfile: 'spherical_subducting_plate_gridfile'
- benchmark_number: 4
benchmark_name: 'slab_interpolation_simple_curved_CMS'
benchmark_gridfile: 'cartesian_subducting_plate_gridfile'
- benchmark_number: 5
benchmark_name: 'spherical_slab_interpolation_simple_CMS'
benchmark_gridfile: 'spherical_subducting_plate_gridfile'
- benchmark_number: 6
benchmark_name: 'spherical_fault_interpolation_simple_none'
benchmark_gridfile: 'spherical_subducting_plate_gridfile'
- benchmark_number: 7
benchmark_name: 'continental_min_max_surface'
benchmark_gridfile: 'cartesian_surface'
- benchmark_number: 8
benchmark_name: 'continental_min_max_surface_spherical'
benchmark_gridfile: 'spherical_surface_p180'
runs-on: ubuntu-latest
steps:
- name: Setup cmake
uses: jwlawson/[email protected]
with:
cmake-version: '3.16.x'
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: cmake version
run: cmake --version
- name: Checkout cbdr
uses: actions/checkout@v2
with:
repository: MFraters/cbdr
ref: github_actions_fix
path: cbdr
- name: retrieve cache cbdr
uses: actions/cache@v2
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
~/.cargo/git/
target/
./target/
${{github.workspace}}/cbdr/
${{github.workspace}}/cbdr/target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: retrieve cache main
uses: actions/cache@v2
with:
path: |
${{github.workspace}}/main/
key: ${{ runner.os }}-gwb-main-v3}}
- name: retrieve cache feature
uses: actions/cache@v2
with:
path: |
${{github.workspace}}/feature/
key: ${{ runner.os }}-gwb-feature-${{ github.event.number }}-v3}}
- name: Checkout cbdr
uses: actions/checkout@v2
with:
repository: MFraters/cbdr
ref: github_actions_fix
path: cbdr
clean: false
- name: Checkout feature
uses: actions/checkout@v2
with:
path: feature/source
clean: false
- name: Checkout main
uses: actions/checkout@v2
with:
ref: main
path: main/source
clean: false
- name: cd Build Environment
run: |
cd ${{github.workspace}}/cbdr/;
cargo build --release;
- name: Create Build Environment
run: |
sudo apt install ninja-build;
cmake -E make_directory ${{github.workspace}}/main/build;
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}/main/build
run: |
pwd;
ls;
cmake -G"Ninja" $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-Werror -DWB_INCLUDE_UNIT_TEST=OFF ${{github.workspace}}/main/source/;
- name: Build gwb
working-directory: ${{github.workspace}}/main/build
shell: bash
run: ninja
- name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/feature/build
- name: cd Build Environment
run: cd ${{github.workspace}}/feature/build;
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}/feature/build
run: |
pwd;
ls;
cmake -G"Ninja" $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-Werror -DWB_INCLUDE_UNIT_TEST=OFF ${{github.workspace}}/feature/source/;
- name: Build gwb
working-directory: ${{github.workspace}}/feature/build
shell: bash
run: ninja
- name: make results dir
shell: bash
run: |
rm -rf ${{github.workspace}}/benchmark_${{matrix.benchmark_number}}_results/;
mkdir -p ${{github.workspace}}/benchmark_${{matrix.benchmark_number}}_results/
- name: store pull request number
shell: bash
if: matrix.benchmark_number == 1
run: |
echo "${{matrix.benchmark_number}}";
echo "${{ github.event.number }}" > ${{github.workspace}}/benchmark_${{matrix.benchmark_number}}_results/NR
- name: run benchmark
shell: bash
run: |
cd ${{github.workspace}}/cbdr/;
time cargo run --release sample --timeout=900s "main:${{github.workspace}}/main/build/bin/./gwb-grid ${{github.workspace}}/feature/source/tests/gwb-dat/${{matrix.benchmark_name}}.wb ${{github.workspace}}/feature/source/tests/gwb-grid/${{matrix.benchmark_gridfile}}.grid" "feature:${{github.workspace}}/feature/build/bin/./gwb-grid ${{github.workspace}}/feature/source/tests/gwb-dat/${{matrix.benchmark_name}}.wb ${{github.workspace}}/feature/source/tests/gwb-grid/${{matrix.benchmark_gridfile}}.grid" > ${{github.workspace}}/result_${{matrix.benchmark_number}}.csv;
cat ${{github.workspace}}/result_${{matrix.benchmark_number}}.csv;
cat ${{github.workspace}}/result_${{matrix.benchmark_number}}.csv | cargo run --release analyze --disable-dynamic-printing > ${{github.workspace}}/benchmark_${{matrix.benchmark_number}}_results/analyze_${{matrix.benchmark_number}}.log ||:;
cat ${{github.workspace}}/benchmark_${{matrix.benchmark_number}}_results/analyze_${{matrix.benchmark_number}}.log
- uses: actions/upload-artifact@v2
with:
name: benchmark_${{matrix.benchmark_number}}_results
path: benchmark_${{matrix.benchmark_number}}_results/