name: uv-build
description: Build the project with uv and run smoke tests
inputs:
  python-version:
    description: Python version to install
    required: true
runs:
  using: composite
  steps:
    - name: Install uv
      uses: astral-sh/setup-uv@v6
    - name: Install Python
      shell: bash
      run: uv python install ${{ inputs.python-version }}
    - name: Build
      shell: bash
      run: uv build
    - name: Smoke test (wheel)
      shell: bash
      run: uv run --isolated --no-project --with dist/*.whl tests/smoke_test.py
    - name: Smoke test (source distribution)
      shell: bash
      run: uv run --isolated --no-project --with dist/*.tar.gz tests/smoke_test.py


