Skip to content

bump version to 0.0.7 #10

bump version to 0.0.7

bump version to 0.0.7 #10

Workflow file for this run

name: Build and Publish
on:
push:
tags:
- v*
workflow_dispatch:
jobs:
build:
name: Build wheel and sdist
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install build dependencies
run: |
python -m pip install -U pip
python -m pip install build twine
- name: Build wheel and sdist
run: |
python -m build
- name: Check distributions
run: |
twine check dist/*
- name: List built files
run: |
ls -la dist/
- name: Upload wheel artifact
uses: actions/upload-artifact@v4
with:
name: wheel
path: dist/*.whl
- name: Upload sdist artifact
uses: actions/upload-artifact@v4
with:
name: sdist
path: dist/*.tar.gz
# Optional: test the built wheel installs correctly
test-wheel:
name: Test wheel installation
needs: build
runs-on: ubuntu-latest
steps:
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Download wheel
uses: actions/download-artifact@v4
with:
name: wheel
path: dist/
- name: Install wheel and verify contents
run: |
# Install without importing (rtxpy requires cupy/GPU at import time)
python -m pip install dist/*.whl --no-deps
python -m pip install numpy
# Verify the package files are installed correctly
python -c "
import importlib.util
import os
# Find where rtxpy was installed
spec = importlib.util.find_spec('rtxpy')
assert spec is not None, 'rtxpy package not found'
pkg_dir = os.path.dirname(spec.origin)
print(f'Package installed at: {pkg_dir}')
# Check that required files exist
init_path = os.path.join(pkg_dir, '__init__.py')
rtx_path = os.path.join(pkg_dir, 'rtx.py')
ptx_path = os.path.join(pkg_dir, 'kernel.ptx')
assert os.path.exists(init_path), f'__init__.py not found'
assert os.path.exists(rtx_path), f'rtx.py not found'
assert os.path.exists(ptx_path), f'kernel.ptx not found'
print('All required files present:')
print(f' - __init__.py')
print(f' - rtx.py')
print(f' - kernel.ptx')
print('Wheel installation test PASSED!')
"
# Publish to PyPI (only on tag push, not workflow_dispatch)
publish:
name: Publish to PyPI
needs: [build, test-wheel]
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
# Required for trusted publishing to PyPI
permissions:
id-token: write
environment:
name: pypi
url: https://pypi.org/project/rtxpy/
steps:
- name: Download wheel
uses: actions/download-artifact@v4
with:
name: wheel
path: dist/
- name: Download sdist
uses: actions/download-artifact@v4
with:
name: sdist
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1