Skip to content

MattiaMontanari is running #79

MattiaMontanari is running

MattiaMontanari is running #79

name: Run all demos
run-name: ${{ github.actor }} is running
on:
push:
schedule:
- cron: '0 0 1,15 * *'
jobs:
C_GCC:
runs-on: ubuntu-latest
container: mmontanari/devenv:buildenv-fedora
steps:
- name: Check out repository code
uses: actions/checkout@v3
- run: cmake -E make_directory build
- run: cmake -E chdir build cmake -DCMAKE_BUILD_TYPE=Release ..
- run: cmake --build build
- run: cmake -E chdir build/examples/c/ ./example_lib_opengjk_ce
C_msvs:
runs-on: windows-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Print env
run: |
echo github.event.action: ${{ github.event.action }}
echo github.event_name: ${{ github.event_name }}
- name: Install dependencies on windows
run: |
choco install ninja cmake
ninja --version
cmake --version
- run: cmake -E make_directory build
- run: cmake -E chdir build cmake ..
- run: cmake --build build
- run: cmake -E copy build/examples/c/Debug/example_lib_opengjk_ce.exe build/examples/c
- run: cmake -E chdir build/examples/c/ ./example_lib_opengjk_ce.exe
Cython:
runs-on: ubuntu-latest
container: mmontanari/devenv:buildenv-ubuntu
steps:
- name: Check out repository code
uses: actions/checkout@v3
- run: apt-get update -y && apt-get install python3-setuptools python3-pip -y
- run: pip3 install numpy pytest scipy Cython
- run: cd examples/cython/ && python3 setup.py build_ext --inplace && python3 pygjk_trial.py
- run: cd examples/cython/ && pytest test.py
PythonCTypes:
runs-on: ubuntu-latest
strategy:
matrix:
python_version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Use Python ${{matrix.python_version}}
uses: actions/setup-python@v4
with:
python-version: ${{matrix.python_version}}
- name: Get dependencies
run: |
python -m pip install --upgrade pip
- name: CMake config
run: cmake -B ${{github.workspace}}/build
env:
BUILD_CTYPES: 1
CMAKE_BUILD_TYPE: Release
- name: CMake build
working-directory: ${{github.workspace}}/build
run: make
- name: Debug library symbols
run: |
echo "Checking library symbols..."
nm -D ${{github.workspace}}/build/libopengjk_ce.so
echo "Checking library dependencies..."
ldd ${{github.workspace}}/build/libopengjk_ce.so
- name: Copy library to module directory
run: |
# Create the destination directory if it doesn't exist
mkdir -p ${{github.workspace}}/examples/python_ctypes/src/pyopengjk/
# Copy the library to the module directory
cp ${{github.workspace}}/build/libopengjk_ce.so ${{github.workspace}}/examples/python_ctypes/src/pyopengjk/
- name: Python build
working-directory: ${{github.workspace}}/examples/python_ctypes/
run: pip install -e .[test]
- name: Python test
working-directory: ${{github.workspace}}/examples/python_ctypes/
run: pytest -vv
CSharp:
runs-on: ubuntu-latest
container: mono:latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- run: apt-get update && apt-get install gcc cmake -y
- run: cmake -E make_directory build
# Using single precision
- run: cmake -E chdir build cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_MONO=ON -DSINGLE_PRECISION=ON ..
- run: cmake --build build --target opengjk_ce
- run: cmake -E chdir build make install
- run: cmake -E copy build/*opengjk_ce* examples/cs/
- run: cd examples/cs/ && mcs -out:main.exe main.cs && mono main.exe
GO:
runs-on: ubuntu-latest
container: mmontanari/devenv:buildenv-fedora
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.15
- run: cd examples/go/openGJK && go build && go test -v
Octave:
runs-on: ubuntu-latest
container: gnuoctave/octave:7.3.0
steps:
- name: Check out repository code
uses: actions/checkout@v3
- run: cd examples/matlab/; octave runme.m
Zig:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
version: 0.13.0
- name: Build and run
run: cd examples/zig && zig build && zig build run