Skip to content

1 package khisto python #12

1 package khisto python

1 package khisto python #12

Workflow file for this run

name: pip packaging
on:
workflow_dispatch:
push:
tags: ['*']
pull_request:
defaults:
run:
shell: bash
jobs:
build-sdist:
name: Build sdist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: pipx run build --sdist
- uses: actions/upload-artifact@v6
with:
name: pkg-sdist
path: dist/*.tar.gz
if-no-files-found: error
build-wheel:
name: Build wheel
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-14]
steps:
- uses: actions/checkout@v6
- name: Load Visual C++ Environment Variables (Windows)
if: runner.os == 'Windows'
shell: cmd
run: |
call "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat"
set >> %GITHUB_ENV%
- name: Build wheels
uses: pypa/cibuildwheel@v3.3.1
- name: install Python
uses: actions/setup-python@v5
- name: Test built wheel
run: |
pip install --no-index --find-links=wheelhouse khisto
pytest -v --junitxml=wheelhouse/test-results.xml
- name: Publish Test Report
uses: mikepenz/action-junit-report@v6
if: success() || failure() # always run even if the previous step fails
with:
report_paths: wheelhouse/test-results.xml
- uses: actions/upload-artifact@v6
with:
name: pkg-wheel-${{ matrix.os }}
path: wheelhouse/*.whl
if-no-files-found: error
publish-testpypi:
if: github.ref_type == 'tag' && github.repository_owner == 'KhiopsML'
name: Publish to Test.PyPI.org
needs: [build-sdist, build-wheel]
runs-on: ubuntu-latest
environment:
name: testpypi
url: https://test.pypi.org/p/khisto
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v5
with:
pattern: pkg-*
path: dist
merge-multiple: true
- uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
verbose: true
test-testpypi:
name: Test installation from Test.PyPI.org
needs: publish-testpypi
runs-on: ubuntu-latest
environment:
name: testpypi
url: https://test.pypi.org/p/khisto
steps:
- run: pip install --index-url https://test.pypi.org/simple/ khisto
- run: exho "TOTO"