2022-08-23 17:13:16 +03:00
|
|
|
name: Linux Workflow
|
|
|
|
|
|
|
|
on:
|
|
|
|
workflow_call:
|
|
|
|
inputs:
|
|
|
|
vmImage:
|
|
|
|
required: true
|
|
|
|
type: string
|
2022-08-23 17:20:01 +03:00
|
|
|
workflow_dispatch:
|
|
|
|
inputs:
|
|
|
|
vmImage:
|
|
|
|
description: VM Image to use
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
default: ubuntu-latest
|
2022-08-23 17:13:16 +03:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
LinuxPython:
|
|
|
|
strategy:
|
|
|
|
matrix:
|
|
|
|
python.version: ["3.7", "3.8", "3.9", "3.10"]
|
|
|
|
|
2022-08-23 17:22:55 +03:00
|
|
|
runs-on: ${{inputs.vmImage}}
|
2022-08-23 17:13:16 +03:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Use Python ${{python.version}}
|
|
|
|
uses: actions/setup-python@4.2.0
|
|
|
|
with:
|
|
|
|
python-version: ${{python.version}}
|
|
|
|
|
|
|
|
- name: Get dependencies
|
|
|
|
run: |
|
|
|
|
python -m pip install --upgrade pip
|
|
|
|
sudo apt-get install doxygen
|
|
|
|
|
|
|
|
- name: NPM steps
|
|
|
|
run: |
|
|
|
|
npm install
|
|
|
|
npm run build
|
|
|
|
|
|
|
|
- name: Python build
|
|
|
|
run: |
|
|
|
|
pip install --use-deprecated=legacy-resolver -e .[dev]
|
|
|
|
python setup.py develop
|
|
|
|
|
|
|
|
- name: Python test
|
|
|
|
uses: pavelzw/pytest-action@v1
|
|
|
|
with:
|
|
|
|
verbose: true
|
|
|
|
job-summary: true
|
|
|
|
|
|
|
|
LinuxCPP:
|
2022-08-23 17:22:55 +03:00
|
|
|
runs-on: ${{inputs.vmImage}}
|
2022-08-23 17:13:16 +03:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Use Python 3.8
|
|
|
|
uses: actions/setup-python@4.2.0
|
|
|
|
with:
|
|
|
|
python-version: "3.8"
|
|
|
|
|
|
|
|
- name: Get dependencies
|
|
|
|
run: |
|
|
|
|
python -m pip install --upgrade pip
|
|
|
|
sudo apt-get install doxygen
|
|
|
|
|
|
|
|
- name: NPM steps
|
|
|
|
run: |
|
|
|
|
npm install
|
|
|
|
npm run build
|
|
|
|
|
|
|
|
- name: CMake config
|
|
|
|
run: cmake -B ${{github.workspace}}/build -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=${{parameters.cmake_build}} -DSCENEPIC_BUILD_TESTS=1 -DSCENEPIC_BUILD_DOCUMENTATION=1
|
|
|
|
|
|
|
|
- name: CMake build
|
|
|
|
run: cmake --build ${{github.workspace}}/build --config ${{cmake_build}} --target cpp
|
|
|
|
|
|
|
|
- name: CMake test
|
|
|
|
working-directory: ${{github.workspace}}/build
|
|
|
|
run: ctest -V --build-config ${{cmake_build}} --timeout 120 --output-on-failure -T Test
|