mirror of
https://github.com/biojppm/rapidyaml.git
synced 2026-01-18 21:41:18 +01:00
213 lines
6.7 KiB
YAML
213 lines
6.7 KiB
YAML
# DO NOT EDIT - GENERATED FROM .github/workflows-in/api.ys
|
|
|
|
name: api
|
|
defaults:
|
|
run:
|
|
shell: bash -e -x {0}
|
|
'on':
|
|
workflow_dispatch: null
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- '*'
|
|
env:
|
|
PROJ_PKG_NAME: rapidyaml-
|
|
PROJ_PFX_TARGET: ryml-
|
|
PROJ_PFX_CMAKE: RYML_
|
|
CMAKE_FLAGS: -DRYML_TEST_SUITE=ON
|
|
NUM_JOBS_BUILD: null
|
|
jobs:
|
|
pybare:
|
|
if: always()
|
|
continue-on-error: false
|
|
name: pybare/${{matrix.config.pythonv}}/${{matrix.config.os}}
|
|
runs-on: ${{matrix.config.os}}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- pythonv: '3.13'
|
|
os: ubuntu-latest
|
|
- pythonv: '3.13'
|
|
os: macos-15-intel
|
|
steps:
|
|
- name: checkout (action)
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
fetch-depth: 0
|
|
- name: install python ${{matrix.config.pythonv}}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{matrix.config.pythonv}}
|
|
- name: deps
|
|
run: |
|
|
if [[ "${{matrix.config.os}}" == macos* ]] ; then
|
|
brew install swig
|
|
elif [[ "${{matrix.config.os}}" == windows* ]] ; then
|
|
choco install swig
|
|
fi
|
|
pip install build deprecation pytest
|
|
pip install -r requirements.txt
|
|
- name: configure
|
|
run: |
|
|
cmake -B build/py \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D BUILD_SHARED_LIBS=ON \
|
|
-D RYML_DEFAULT_CALLBACK_USES_EXCEPTIONS=ON \
|
|
-D RYML_BUILD_API=ON \
|
|
-D RYML_API_TESTS=ON \
|
|
-D RYML_BUILD_TESTS=ON
|
|
- name: build
|
|
run: |
|
|
cmake --build build/py -j -v --config Release --target ryml-api-python3
|
|
cp -fv api/python/ryml/__init__.py build/py/api/python3/.
|
|
ls -lFpAR build/py/api/python3/
|
|
- name: test with ctest
|
|
run: |
|
|
export PYTHONPATH=`pwd`/build/py/api/python3:$PYTHONPATH
|
|
cmake --build build/py -j -v --config Release --target ryml-api-test-python3
|
|
- name: test with pytest
|
|
run: |
|
|
export PYTHONPATH=`pwd`/build/py/api/python3:$PYTHONPATH
|
|
python -m pytest -vvv api/python/tests
|
|
pywheel:
|
|
if: always()
|
|
continue-on-error: false
|
|
name: pywheel/${{matrix.config.pythonv}}/${{matrix.config.os}}
|
|
runs-on: ${{matrix.config.os}}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- pythonv: '3.13'
|
|
os: ubuntu-latest
|
|
- pythonv: '3.13'
|
|
os: macos-15-intel
|
|
env:
|
|
CMAKE_FLAGS: -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILES=ON
|
|
steps:
|
|
- name: checkout (action)
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
fetch-depth: 0
|
|
- name: install python ${{matrix.config.pythonv}}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{matrix.config.pythonv}}
|
|
- name: deps
|
|
run: |
|
|
if [[ "${{matrix.config.os}}" == macos* ]] ; then
|
|
brew install swig
|
|
elif [[ "${{matrix.config.os}}" == windows* ]] ; then
|
|
choco install swig
|
|
fi
|
|
pip install build deprecation pytest
|
|
pip install -r requirements.txt
|
|
- name: '------------------- using setup.py'
|
|
run: |
|
|
rm -rf build/ dist/ || echo "no files found"
|
|
pip uninstall -y -v rapidyaml || echo "was not installed"
|
|
- name: create wheel with python setup.py bdist_wheel -v
|
|
run: |
|
|
python setup.py bdist_wheel -v
|
|
- name: install wheel
|
|
run: pip install dist/*.whl
|
|
- name: test with pytest
|
|
run: python -m pytest -vvv api/python/tests
|
|
- name: '------------------- using pip'
|
|
run: |
|
|
rm -rf build/ dist/ || echo "no files found"
|
|
pip uninstall -y -v rapidyaml || echo "was not installed"
|
|
- name: create wheel with pip wheel -w dist/ .
|
|
run: |
|
|
pip wheel -w dist/ .
|
|
- name: install wheel
|
|
run: pip install dist/*.whl
|
|
- name: test with pytest
|
|
run: python -m pytest -vvv api/python/tests
|
|
- name: '------------------- using pypa/build'
|
|
run: |
|
|
rm -rf build/ dist/ || echo "no files found"
|
|
pip uninstall -y -v rapidyaml || echo "was not installed"
|
|
- name: create wheel with python -m build --wheel
|
|
run: |
|
|
python -m build --wheel
|
|
- name: install wheel
|
|
run: pip install dist/*.whl
|
|
- name: test with pytest
|
|
run: python -m pytest -vvv api/python/tests
|
|
pywheelwin:
|
|
if: always()
|
|
continue-on-error: false
|
|
name: pywheel/${{matrix.config.pythonv}}/${{matrix.config.os}}
|
|
runs-on: ${{matrix.config.os}}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- pythonv: '3.13'
|
|
os: windows-latest
|
|
vsenvarch: x64
|
|
env:
|
|
CMAKE_FLAGS: -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILES=ON
|
|
steps:
|
|
- name: checkout (action)
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
fetch-depth: 0
|
|
- name: install python ${{matrix.config.pythonv}}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{matrix.config.pythonv}}
|
|
- name: deps
|
|
run: |
|
|
if [[ "${{matrix.config.os}}" == macos* ]] ; then
|
|
brew install swig
|
|
elif [[ "${{matrix.config.os}}" == windows* ]] ; then
|
|
choco install swig
|
|
fi
|
|
pip install build deprecation pytest
|
|
pip install -r requirements.txt
|
|
- name: setup env (Visual Studio)
|
|
uses: TheMrMilchmann/setup-msvc-dev@v3
|
|
with:
|
|
arch: ${{matrix.config.vsenvarch}}
|
|
- name: '------------------- using setup.py'
|
|
run: |
|
|
rm -rf build/ dist/ || echo "no files found"
|
|
pip uninstall -y -v rapidyaml || echo "was not installed"
|
|
- name: create wheel with python setup.py bdist_wheel -v
|
|
run: |
|
|
python setup.py bdist_wheel -v
|
|
- name: install wheel
|
|
run: pip install dist/*.whl
|
|
- name: test with pytest
|
|
run: python -m pytest -vvv api/python/tests
|
|
- name: '------------------- using pip'
|
|
run: |
|
|
rm -rf build/ dist/ || echo "no files found"
|
|
pip uninstall -y -v rapidyaml || echo "was not installed"
|
|
- name: create wheel with pip wheel -w dist/ .
|
|
run: |
|
|
pip wheel -w dist/ .
|
|
- name: install wheel
|
|
run: pip install dist/*.whl
|
|
- name: test with pytest
|
|
run: python -m pytest -vvv api/python/tests
|
|
- name: '------------------- using pypa/build'
|
|
run: |
|
|
rm -rf build/ dist/ || echo "no files found"
|
|
pip uninstall -y -v rapidyaml || echo "was not installed"
|
|
- name: create wheel with python -m build --wheel
|
|
run: |
|
|
python -m build --wheel
|
|
- name: install wheel
|
|
run: pip install dist/*.whl
|
|
- name: test with pytest
|
|
run: python -m pytest -vvv api/python/tests
|