Initial attempt to create python packaging for ryml module.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
This commit is contained in:
Keith Rothman
2021-01-08 15:56:52 -08:00
parent 2ebdb0c398
commit f2717db162
3 changed files with 29 additions and 10 deletions

View File

@@ -539,15 +539,32 @@ jobs:
- {bt: Release, os: ubuntu-18.04}
- {bt: Release, os: windows-2019}
env: {STD: "${{matrix.std}}", CXX_: "${{matrix.cxx}}", BT: "${{matrix.bt}}", BITLINKS: "${{matrix.bitlinks}}", VG: "${{matrix.vg}}", SAN: "${{matrix.san}}", LINT: "${{matrix.lint}}", OS: "${{matrix.os}}",
API: ON, CMAKE_FLAGS: "-DRYML_DEV=OFF -DRYML_BUILD_API=ON -DRYML_API_TESTS=ON -DRYML_API_BENCHMARKS=OFF"}
API: ON, CMAKE_FLAGS: "-DRYML_DEV=OFF -DRYML_BUILD_API=ON -DRYML_API_TESTS=ON -DRYML_API_BENCHMARKS=ON"}
steps:
- {name: checkout, uses: actions/checkout@v2, with: {submodules: recursive}}
- {name: install requirements, run: source .github/reqs.sh && c4_install_test_requirements $OS}
- {name: show info, run: source .github/setenv.sh && c4_show_info && which swig }
- name: api-shared64-configure---------------------------------------------------
run: source .github/setenv.sh && c4_cfg_test shared64
- {name: api-shared64-python-build, run: source .github/setenv.sh && c4_build_target shared64 ryml-api-python3}
- {name: api-shared64-python-test, run: source .github/setenv.sh && c4_build_target shared64 ryml-api-test-python3}
- name: api-shared64-python-build
run: |
python3 -mvenv env
source .github/setenv.sh
source env/bin/activate
cd api/python
pip install -r requirements_dev.txt
python3 setup.py bdist_wheel
pip install dist/*.whl
- name: api-shared64-python-test
run: |
source .github/setenv.sh
source env/bin/activate
c4_build_target shared64 ryml-api-test-python3
- name: api-shared64-python-benchmark
run: |
source .github/setenv.sh
source env/bin/activate
c4_build_target shared64 ryml-api-bm-python3
#----------------------------------------------------------------------------
# useful to iterate when fixing the release
@@ -592,7 +609,7 @@ jobs:
git-archive-all --prefix $name $name.zip
echo ::set-output name=TGZ::$name.tgz
echo ::set-output name=ZIP::$name.zip
- name: Upload source pack: tgz
- name: "Upload source pack: tgz"
id: upload_src_tgz_to_release
uses: actions/upload-release-asset@v1.0.1
env: {GITHUB_TOKEN: "${{secrets.GITHUB_TOKEN}}"}
@@ -601,7 +618,7 @@ jobs:
asset_path: ${{steps.src_pack.outputs.TGZ}}
asset_name: ${{steps.src_pack.outputs.TGZ}}
asset_content_type: application/gzip
- name: Upload source pack: zip
- name: "Upload source pack: zip"
id: upload_src_zip_to_release
uses: actions/upload-release-asset@v1.0.1
env: {GITHUB_TOKEN: "${{secrets.GITHUB_TOKEN}}"}

View File

@@ -108,7 +108,7 @@ if(RYML_BUILD_API_PYTHON)
get_filename_component(script_name ${script} NAME_WE)
set(script ${pydir}/${script})
set(tn ryml-api-test-python3-${script_name})
set(cmd ${CMAKE_COMMAND} -E env PYTHONPATH=${r} ${Python3_EXECUTABLE} ${script})
set(cmd ${CMAKE_COMMAND} -E env ${Python3_EXECUTABLE} ${script})
add_custom_target(${tn}
COMMAND ${cmd}
DEPENDS ${t}
@@ -127,13 +127,13 @@ if(RYML_BUILD_API_PYTHON)
c4_set_folder_remote_project_targets("bm" ryml-api-bm-python3)
set(script ${pydir}/parse_bm.py)
c4_add_benchmark_cmd(ryml-api-bm-python3-fpga-device
COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${r} ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/python/parse_bm.py ${CMAKE_CURRENT_LIST_DIR}/../bm/cases/fpga_device.yml ryml)
COMMAND ${CMAKE_COMMAND} -E env ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/python/parse_bm.py ${CMAKE_CURRENT_LIST_DIR}/../bm/cases/fpga_device.yml ryml)
c4_add_benchmark_cmd(ryml-api-bm-python3-travis
COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${r} ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/python/parse_bm.py ${CMAKE_CURRENT_LIST_DIR}/../bm/cases/travis.yml ryml)
COMMAND ${CMAKE_COMMAND} -E env ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/python/parse_bm.py ${CMAKE_CURRENT_LIST_DIR}/../bm/cases/travis.yml ryml)
c4_add_benchmark_cmd(ryml-api-bm-python3-appveyor
COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${r} ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/python/parse_bm.py ${CMAKE_CURRENT_LIST_DIR}/../bm/cases/appveyor.yml ryml)
COMMAND ${CMAKE_COMMAND} -E env ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/python/parse_bm.py ${CMAKE_CURRENT_LIST_DIR}/../bm/cases/appveyor.yml ryml)
c4_add_benchmark_cmd(ryml-api-bm-python3-compile_commands
COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${r} ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/python/parse_bm.py ${CMAKE_CURRENT_LIST_DIR}/../bm/cases/compile_commands.json ryml)
COMMAND ${CMAKE_COMMAND} -E env ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/python/parse_bm.py ${CMAKE_CURRENT_LIST_DIR}/../bm/cases/compile_commands.json ryml)
c4_set_folder_remote_project_targets("bm" ryml-bm-api-python3-travis)
c4_set_folder_remote_project_targets("bm" ryml-bm-api-python3-appveyor)
c4_set_folder_remote_project_targets("bm" ryml-bm-api-python3-compile_commands)

View File

@@ -1,3 +1,5 @@
ruamel.yaml
pyyaml
prettytable
git+git://github.com/litghost/cmake-build-extension.git@add_support_for_components#egg=cmake-build-extension
wheel