Skip to content

chore: update demes-spec #1060

chore: update demes-spec

chore: update demes-spec #1060

Workflow file for this run

on:
push:
branches: [main, dev]
pull_request:
name: Test C/C++ examples
jobs:
test_ffi_examples:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-13, macos-14]
rust:
- stable
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Setup cmake
uses: jwlawson/[email protected]
with:
cmake-version: '3.22.x'
- uses: Swatinem/rust-cache@v2
- name: Install cbindgen
uses: baptiste0928/cargo-install@v3
with:
crate: cbindgen
version: "=0.24.3"
- name: Run cmake on demes-forward example
run: |
cmake -Sdemes-forward-capi/c_example -Bbuild
- name: Build demes-forward example
run: |
cmake --build build
- name: Run demes-forward C example
run: |
./build/example demes-forward-capi/example_yaml/*.yaml
- name: cleanup
run: |
rm -rf build
- name: Run cmake on demes example
run: |
cmake -Sdemes/c_example -Bbuild
- name: Build demes example
run: |
cmake --build build
- name: Run demes C examples
run: |
./build/example demes/demes-spec/examples/browning_america.yaml
./build/example_using_iterators demes/demes-spec/examples/browning_america.yaml
./build/example demes/demes-spec/examples/jacobs_papuans.yaml
./build/example_using_iterators demes/demes-spec/examples/jacobs_papuans.yaml
- name: Run cmake on demes example in release mode
run: |
cmake -Sdemes/c_example -Bbuild_release -DCMAKE_BUILD_TYPE=Release
- name: Build demes example in release mode
run: |
cmake --build build_release
- name: Run demes C examples
run: |
./build_release/example demes/demes-spec/examples/browning_america.yaml
./build_release/example_using_iterators demes/demes-spec/examples/browning_america.yaml
./build_release/example demes/demes-spec/examples/jacobs_papuans.yaml
./build_release/example_using_iterators demes/demes-spec/examples/jacobs_papuans.yaml
- run: sudo apt-get update -y
if: matrix.os == 'ubuntu-latest'
- run: sudo apt-get install -y valgrind
if: matrix.os == 'ubuntu-latest'
- name: Run demes C example through valgrind
if: matrix.os == 'ubuntu-latest'
run: |
valgrind ./build/example demes/demes-spec/examples/browning_america.yaml
valgrind ./build/example_using_iterators demes/demes-spec/examples/browning_america.yaml
valgrind ./build/example demes/demes-spec/examples/jacobs_papuans.yaml
valgrind ./build/example_using_iterators demes/demes-spec/examples/jacobs_papuans.yaml