Skip to content

Add type_caster of boost::filesystem::path to python bindings #45

Add type_caster of boost::filesystem::path to python bindings

Add type_caster of boost::filesystem::path to python bindings #45

Workflow file for this run

name: Build and Test
on: [push]
env:
TEST_CASES: d3_buffer_seek,_get_nth_digit,_insert_sorted,d3_word_binary_search,Array,glob,string_builder,Array::New,binout_directory,path_move_up,path_join,path_is_abs,path_view,extra_string,card_parse_get_type,empty_card,profiling,sync,multi_file
jobs:
build-and-test:
runs-on: ${{ matrix.plat == 'linux' && 'ubuntu' || (matrix.plat == 'macosx' && 'macos' || matrix.plat) }}-latest
strategy:
fail-fast: false
matrix:
plat: [linux, windows, macosx]
arch: [x86_64]
kind: [static]
thread_safe: [y, n]
profiling: [y, n]
python: [y, n]
env:
arch: ${{ matrix.plat == 'windows' && 'x64' || matrix.arch }}
name: ${{ matrix.plat }}-${{ matrix.arch }}-${{ matrix.kind }}${{ matrix.thread_safe == 'y' && '-' || '-non-thread-safe' }}${{ matrix.profiling == 'y' && '-profiling' || '-' }}${{ matrix.python == 'y' && '-python' || '-' }}
steps:
- uses: actions/checkout@v4
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: 2.8.6
- uses: actions/setup-python@v5
if: matrix.python == 'y'
with:
python-version: '3.11'
- run: xmake f -yvD -p ${{ matrix.plat }} -a ${{ env.arch }} -k ${{ matrix.kind }} -m release --build_test=${{ matrix.python == 'y' && 'n' || 'y' }} --thread_safe=${{ matrix.thread_safe }} --profiling=${{ matrix.profiling }} --build_python=${{ matrix.python }}
- run: xmake -wvD
- run: xmake run -w . dynareadout_test --test-case=${{ env.TEST_CASES }}
if: matrix.python == 'n'
- run: ls -la --color=always build/${{ matrix.plat }}/${{ env.arch }}/release
if: matrix.python == 'y' && matrix.plat != 'windows'
- run: dir build/${{ matrix.plat }}/${{ env.arch }}/release
if: matrix.python == 'y' && matrix.plat == 'windows'
- run: cp src/python/test.py build/${{ matrix.plat }}/${{ env.arch }}/release
if: matrix.python == 'y' && matrix.plat != 'windows'
- run: Copy-Item -Path src/python/test.py -Destination build/${{ matrix.plat }}/${{ env.arch }}/release
if: matrix.python == 'y' && matrix.plat == 'windows'
- run: cd build/${{ matrix.plat }}/${{ env.arch }}/release && python test.py
if: matrix.python == 'y'
create-release:
if: startsWith(github.event.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs: [build-and-test]
steps:
- uses: actions/checkout@v4
- uses: ncipollo/release-action@v1
with:
body: |
Automatically generated by Github Actions Run ${{ github.run_id }}
generateReleaseNotes: true
makeLatest: true